@h-rig/contracts 0.0.6-alpha.176 → 0.0.6-alpha.178

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 (67) hide show
  1. package/dist/index.cjs +132 -63
  2. package/dist/index.mjs +132 -63
  3. package/dist/src/blocker-classifier.d.ts +21 -0
  4. package/dist/src/blocker-classifier.js +13 -0
  5. package/dist/src/cockpit.d.ts +30 -0
  6. package/dist/src/config.d.ts +7 -5
  7. package/dist/src/config.js +3 -1
  8. package/dist/src/control-plane-types.d.ts +2 -2
  9. package/dist/src/github.d.ts +10 -0
  10. package/dist/src/guard.d.ts +7 -0
  11. package/dist/src/guard.js +10 -1
  12. package/dist/src/harness-profile-state.d.ts +10 -0
  13. package/dist/src/harness-profile-state.js +13 -0
  14. package/dist/src/index.d.ts +14 -0
  15. package/dist/src/index.js +132 -63
  16. package/dist/src/layout.d.ts +0 -5
  17. package/dist/src/layout.js +1 -3
  18. package/dist/src/lifecycle-capabilities.d.ts +40 -2
  19. package/dist/src/lifecycle-capabilities.js +12 -0
  20. package/dist/src/managed-repos.d.ts +103 -3
  21. package/dist/src/managed-repos.js +4 -0
  22. package/dist/src/model.d.ts +11 -75
  23. package/dist/src/model.js +3 -58
  24. package/dist/src/placement.d.ts +47 -0
  25. package/dist/src/placement.js +13 -0
  26. package/dist/src/product-entrypoint.d.ts +22 -0
  27. package/dist/src/product-entrypoint.js +13 -0
  28. package/dist/src/provider.d.ts +14 -14
  29. package/dist/src/provider.js +12 -11
  30. package/dist/src/remote-control.d.ts +93 -0
  31. package/dist/src/remote-control.js +26 -0
  32. package/dist/src/run-control.d.ts +164 -0
  33. package/dist/src/run-control.js +13 -0
  34. package/dist/src/run-discovery.d.ts +5 -1
  35. package/dist/src/run-queue.d.ts +36 -0
  36. package/dist/src/run-queue.js +13 -0
  37. package/dist/src/run-read-model.d.ts +33 -88
  38. package/dist/src/run-session-journal.d.ts +86 -1
  39. package/dist/src/run-session-journal.js +9 -0
  40. package/dist/src/runtime-secrets.d.ts +10 -0
  41. package/dist/src/runtime-secrets.js +13 -0
  42. package/dist/src/session-hook-materializer.d.ts +41 -0
  43. package/dist/src/session-hook-materializer.js +13 -0
  44. package/dist/src/setup.d.ts +67 -1
  45. package/dist/src/supervisor-journal.d.ts +9 -9
  46. package/dist/src/supervisor-journal.js +2 -0
  47. package/dist/src/supervisor-loop.d.ts +40 -0
  48. package/dist/src/supervisor-loop.js +13 -0
  49. package/dist/src/task-artifacts.d.ts +20 -0
  50. package/dist/src/task-config.d.ts +22 -0
  51. package/dist/src/task-config.js +1 -0
  52. package/dist/src/task-data.d.ts +6 -8
  53. package/dist/src/task-source.d.ts +58 -27
  54. package/dist/src/task-source.js +9 -1
  55. package/dist/src/task-state-paths.d.ts +14 -0
  56. package/dist/src/task-state-paths.js +13 -0
  57. package/dist/src/task-state-store.d.ts +21 -1
  58. package/dist/src/task-state-store.js +4 -0
  59. package/dist/src/task-tracker-state.d.ts +5 -10
  60. package/dist/src/toolchain-sources.d.ts +1 -1
  61. package/dist/src/transport-config.d.ts +161 -0
  62. package/dist/src/transport-config.js +15 -0
  63. package/dist/src/workflow-journal.d.ts +33 -0
  64. package/dist/src/workflow-journal.js +9 -0
  65. package/dist/src/workspace-service.d.ts +16 -0
  66. package/dist/src/workspace-service.js +13 -0
  67. package/package.json +5 -1
@@ -1,6 +1,19 @@
1
1
  import type { CapabilityId } from "./capability-id";
2
- import type { TaskConfigEntry } from "./task-source";
2
+ import type { TaskConfigEntry } from "./task-config";
3
+ import type { TaskTerminalStateInput } from "./task-source";
3
4
  import type { TaskStateMetadataEnvelope } from "./task-state-metadata";
5
+ export type TaskFailedApproachRecordInput = {
6
+ readonly projectRoot: string;
7
+ readonly taskId?: string;
8
+ readonly text: string;
9
+ readonly timestamp?: string;
10
+ };
11
+ export type TaskFailedApproachRecordResult = {
12
+ readonly taskId: string;
13
+ readonly attempts: number;
14
+ readonly path: string;
15
+ readonly message: string;
16
+ };
4
17
  /** Local `.rig` task state/config/metadata only; no runtime/provider guidance. */
5
18
  export interface TaskStateStoreService {
6
19
  readCurrentTaskId(projectRoot: string): string | null;
@@ -11,6 +24,13 @@ export interface TaskStateStoreService {
11
24
  writeSourceTaskConfig(projectRoot: string, entries: Record<string, TaskConfigEntry>): void;
12
25
  readTaskStateMetadata(projectRoot: string): TaskStateMetadataEnvelope | null;
13
26
  writeTaskStateMetadata(projectRoot: string, envelope: TaskStateMetadataEnvelope): void;
27
+ recordFailedApproach(input: TaskFailedApproachRecordInput): TaskFailedApproachRecordResult;
14
28
  }
15
29
  export declare const TASK_STATE_STORE_CAPABILITY_ID = "task-state.store";
16
30
  export declare const TASK_STATE_STORE: CapabilityId<TaskStateStoreService>;
31
+ /** Local task-state-owned terminal-state check over `.rig/task-config.json`. */
32
+ export interface TaskStateTerminalStateService {
33
+ isTaskTerminal(input: TaskTerminalStateInput): Promise<boolean>;
34
+ }
35
+ export declare const TASK_STATE_TERMINAL_STATE_CAPABILITY_ID = "task-state.terminal-state";
36
+ export declare const TASK_STATE_TERMINAL_STATE: CapabilityId<TaskStateTerminalStateService>;
@@ -7,7 +7,11 @@ function makeCapabilityId(id) {
7
7
  // packages/contracts/src/task-state-store.ts
8
8
  var TASK_STATE_STORE_CAPABILITY_ID = "task-state.store";
9
9
  var TASK_STATE_STORE = makeCapabilityId(TASK_STATE_STORE_CAPABILITY_ID);
10
+ var TASK_STATE_TERMINAL_STATE_CAPABILITY_ID = "task-state.terminal-state";
11
+ var TASK_STATE_TERMINAL_STATE = makeCapabilityId(TASK_STATE_TERMINAL_STATE_CAPABILITY_ID);
10
12
  export {
13
+ TASK_STATE_TERMINAL_STATE_CAPABILITY_ID,
14
+ TASK_STATE_TERMINAL_STATE,
11
15
  TASK_STATE_STORE_CAPABILITY_ID,
12
16
  TASK_STATE_STORE
13
17
  };
@@ -7,6 +7,8 @@ export type TaskTrackerPolicyDecision = {
7
7
  readonly allowed: boolean;
8
8
  readonly code?: "claim-conflict" | "status-conflict";
9
9
  readonly reason?: string;
10
+ /** Owner-supplied compare-and-set precondition for tracker persistence. */
11
+ readonly expectedLifecycleStatus?: CanonicalTaskLifecycleStatus | readonly CanonicalTaskLifecycleStatus[];
10
12
  };
11
13
  export type TrackerPullRequestEvidence = {
12
14
  readonly branchName?: string | null;
@@ -65,8 +67,9 @@ export type TaskTrackerStateUpdateInput = {
65
67
  readonly taskId: string;
66
68
  readonly lifecycleStatus: CanonicalTaskLifecycleStatus;
67
69
  readonly metadata?: TaskStateMetadata | null;
68
- /** @deprecated OWNER-TODO: remove when callers pass reconciliation evidence only to TASK_TRACKER_RECONCILIATION_POLICY. */
69
- readonly evidence?: TrackerReconcileEvidence;
70
+ /** Lifecycle-owner supplied transition precondition. Required by the legacy task-state wrapper. */
71
+ readonly allowedFrom?: readonly CanonicalTaskLifecycleStatus[];
72
+ readonly reason?: string;
70
73
  };
71
74
  export type TaskTrackerStateClaimInput = {
72
75
  readonly projectRoot: string;
@@ -90,15 +93,7 @@ export declare const TASK_TRACKER_REPO_LOCATOR: CapabilityId<TaskTrackerRepoLoca
90
93
  /** Tracker snapshot/persistence API. Keep this shape stable for legacy callers. */
91
94
  export interface TaskTrackerStateService {
92
95
  readSnapshot(projectRoot: string, options?: ReadSyncedTrackerOptions): SyncedTrackerSnapshot;
93
- /** @deprecated Use TASK_TRACKER_READINESS_POLICY. OWNER-TODO: remove after scheduler queue consumers switch seams. */
94
- listReadyTaskIds(snapshot: SyncedTrackerSnapshot): readonly string[];
95
96
  normalizeStatus(status: unknown): CanonicalTaskLifecycleStatus | null;
96
- /** @deprecated Use TASK_TRACKER_RECONCILIATION_POLICY. OWNER-TODO: remove after lifecycle consumers switch seams. */
97
- projectReconciliation(input: {
98
- readonly lifecycleStatus: CanonicalTaskLifecycleStatus;
99
- readonly metadata: TaskStateMetadata | null;
100
- readonly evidence?: TrackerReconcileEvidence;
101
- }): TaskReconciliationProjection;
102
97
  claimTask(input: TaskTrackerStateClaimInput): TaskStateMetadataEnvelope | Promise<TaskStateMetadataEnvelope>;
103
98
  updateLifecycle(input: TaskTrackerStateUpdateInput): TaskStateMetadataEnvelope | Promise<TaskStateMetadataEnvelope>;
104
99
  }
@@ -42,7 +42,7 @@ export interface ToolchainSourceContribution {
42
42
  }
43
43
  /** Stable id for @rig/guard-plugin's toolchain-source contribution. */
44
44
  export declare const GUARD_TOOLCHAIN_SOURCES_CAPABILITY_ID = "rig.toolchain.sources.guard";
45
- /** Stable id for @rig/bundle-default-lifecycle's toolchain-source contribution. */
45
+ /** Stable id for @rig/lifecycle-plugin's toolchain-source contribution. */
46
46
  export declare const LIFECYCLE_TOOLCHAIN_SOURCES_CAPABILITY_ID = "rig.toolchain.sources.lifecycle";
47
47
  /**
48
48
  * The guard-plugin toolchain-source capability id. `defineCapability(...)` (the
@@ -0,0 +1,161 @@
1
+ import type { CapabilityId } from "./capability-id";
2
+ export type TransportConfigEnv = Readonly<Record<string, string | undefined>>;
3
+ export declare const DEFAULT_REMOTE_PORT = 7890;
4
+ export type RemoteConfigEntry = {
5
+ host?: string;
6
+ port?: number;
7
+ token?: string;
8
+ addedAt?: string;
9
+ lastConnected?: string;
10
+ };
11
+ export type RemotesToml = {
12
+ version?: number;
13
+ remotes?: Record<string, RemoteConfigEntry>;
14
+ };
15
+ export type AuthorityRemoteEndpointRecord = {
16
+ id: string;
17
+ alias: string;
18
+ host: string;
19
+ port: number;
20
+ transport: string;
21
+ auto_connect: boolean;
22
+ labels: string[];
23
+ capabilities: string[];
24
+ secret_ref: string;
25
+ created_at: string;
26
+ updated_at: string;
27
+ last_connected_at?: string | null;
28
+ };
29
+ export type AuthorityRemoteEndpointsToml = {
30
+ version?: number;
31
+ endpoints?: Record<string, AuthorityRemoteEndpointRecord>;
32
+ };
33
+ export type AuthorityRemoteSecretsToml = {
34
+ version?: number;
35
+ secrets?: Record<string, string>;
36
+ };
37
+ export type AuthorityMaterializedRemoteEndpoint = {
38
+ id: string;
39
+ alias: string;
40
+ host: string;
41
+ port: number;
42
+ token: string;
43
+ autoConnect: boolean;
44
+ addedAt: string;
45
+ updatedAt: string;
46
+ lastConnectedAt: string | null;
47
+ labels: string[];
48
+ capabilities: string[];
49
+ transport: string;
50
+ secretRef: string;
51
+ };
52
+ export type ManagedRemoteEndpoint = {
53
+ id: string;
54
+ alias: string;
55
+ host: string;
56
+ port: number;
57
+ token: string;
58
+ addedAt: string | null;
59
+ lastConnected: string | null;
60
+ };
61
+ export type RemoteEndpointMigrationResult = {
62
+ readonly imported: number;
63
+ readonly skipped: number;
64
+ readonly sourcePath: string;
65
+ };
66
+ export type RemoteEndpointDoctorResult = {
67
+ readonly manifestPath: string;
68
+ readonly secretsPath: string;
69
+ readonly endpointCount: number;
70
+ readonly missingSecrets: readonly string[];
71
+ readonly warnings: readonly string[];
72
+ };
73
+ export type SelectedRemote = {
74
+ alias: string;
75
+ host: string;
76
+ port: number;
77
+ sshTarget: string;
78
+ checkout: string | null;
79
+ registryBaseUrl: string | null;
80
+ secretRef: string | null;
81
+ };
82
+ export type DispatchTransportPlacement = {
83
+ readonly kind: "local";
84
+ readonly alias: "local";
85
+ readonly sshTarget: null;
86
+ readonly selected: null;
87
+ } | {
88
+ readonly kind: "remote";
89
+ readonly alias: string;
90
+ readonly sshTarget: string;
91
+ readonly selected: SelectedRemote | null;
92
+ };
93
+ export interface TransportConfigService {
94
+ readonly resolveRelayUrl: (input?: {
95
+ readonly env?: TransportConfigEnv;
96
+ }) => string;
97
+ readonly resolveSshTarget: (input?: {
98
+ readonly env?: TransportConfigEnv;
99
+ }) => string;
100
+ readonly listManagedRemoteEndpoints: (input?: {
101
+ readonly configPath?: string;
102
+ readonly projectRoot?: string;
103
+ }) => readonly ManagedRemoteEndpoint[];
104
+ readonly upsertManagedRemoteEndpoint: (input: {
105
+ readonly endpoint: {
106
+ readonly alias: string;
107
+ readonly host: string;
108
+ readonly port: number;
109
+ readonly token?: string;
110
+ };
111
+ readonly configPath?: string;
112
+ readonly projectRoot?: string;
113
+ }) => ManagedRemoteEndpoint;
114
+ readonly updateAuthorityRemoteEndpoint: (input: {
115
+ readonly projectRoot: string;
116
+ readonly endpoint: {
117
+ readonly endpointId?: string;
118
+ readonly alias?: string;
119
+ readonly host?: string;
120
+ readonly port?: number;
121
+ readonly token?: string;
122
+ readonly autoConnect?: boolean;
123
+ readonly transport?: string;
124
+ readonly labels?: readonly string[];
125
+ readonly capabilities?: readonly string[];
126
+ };
127
+ }) => AuthorityMaterializedRemoteEndpoint | null;
128
+ readonly removeManagedRemoteEndpoint: (input: {
129
+ readonly alias: string;
130
+ readonly configPath?: string;
131
+ readonly projectRoot?: string;
132
+ }) => boolean;
133
+ readonly migrateManagedRemoteEndpoints: (input: {
134
+ readonly projectRoot: string;
135
+ readonly legacyPath?: string;
136
+ }) => RemoteEndpointMigrationResult;
137
+ readonly doctorManagedRemoteEndpoints: (input: {
138
+ readonly projectRoot: string;
139
+ }) => RemoteEndpointDoctorResult;
140
+ readonly resolveSelectedRemote: (input: {
141
+ readonly projectRoot: string;
142
+ readonly env?: TransportConfigEnv;
143
+ }) => SelectedRemote | null;
144
+ readonly resolveDispatchTransportPlacement: (input: {
145
+ readonly projectRoot: string;
146
+ readonly env?: TransportConfigEnv;
147
+ }) => DispatchTransportPlacement;
148
+ readonly resolveRegistryBaseUrl: (input: {
149
+ readonly projectRoot: string;
150
+ readonly env?: TransportConfigEnv;
151
+ }) => string;
152
+ readonly resolveOwnerNamespaceKey: (input: {
153
+ readonly projectRoot: string;
154
+ readonly env?: TransportConfigEnv;
155
+ }) => string | null;
156
+ readonly resolveRigOmpConfigOverlayPath: (input: {
157
+ readonly projectRoot: string;
158
+ }) => string;
159
+ }
160
+ export declare const TRANSPORT_CONFIG_CAPABILITY_ID = "rig.transport.config";
161
+ export declare const TRANSPORT_CONFIG: CapabilityId<TransportConfigService>;
@@ -0,0 +1,15 @@
1
+ // @bun
2
+ // packages/contracts/src/capability-id.ts
3
+ function makeCapabilityId(id) {
4
+ return id;
5
+ }
6
+
7
+ // packages/contracts/src/transport-config.ts
8
+ var DEFAULT_REMOTE_PORT = 7890;
9
+ var TRANSPORT_CONFIG_CAPABILITY_ID = "rig.transport.config";
10
+ var TRANSPORT_CONFIG = makeCapabilityId(TRANSPORT_CONFIG_CAPABILITY_ID);
11
+ export {
12
+ TRANSPORT_CONFIG_CAPABILITY_ID,
13
+ TRANSPORT_CONFIG,
14
+ DEFAULT_REMOTE_PORT
15
+ };
@@ -1,3 +1,4 @@
1
+ import type { CapabilityId } from "./capability-id";
1
2
  export declare const RIG_WORKFLOW_STARTED: "rig.workflow.started";
2
3
  export declare const RIG_WORKFLOW_TARGET_SELECTED: "rig.workflow.target.selected";
3
4
  export declare const RIG_WORKFLOW_TASK_SELECTED: "rig.workflow.task.selected";
@@ -45,6 +46,38 @@ export type RigWorkflowOperatorNote = {
45
46
  note: string;
46
47
  notedAt: string;
47
48
  };
49
+ export type RigWorkflowStartedInput = Omit<RigWorkflowStarted, "schemaVersion" | "createdAt"> & {
50
+ createdAt?: string;
51
+ };
52
+ export type RigWorkflowTargetSelectedInput = Omit<RigWorkflowTargetSelected, "schemaVersion" | "selectedAt"> & {
53
+ selectedAt?: string;
54
+ };
55
+ export type RigWorkflowTaskSelectedInput = Omit<RigWorkflowTaskSelected, "schemaVersion" | "selectedAt"> & {
56
+ selectedAt?: string;
57
+ };
58
+ export type RigWorkflowStatusChangedInput = Omit<RigWorkflowStatusChanged, "schemaVersion" | "changedAt"> & {
59
+ changedAt?: string;
60
+ };
61
+ export type RigWorkflowOperatorNoteInput = Omit<RigWorkflowOperatorNote, "schemaVersion" | "notedAt"> & {
62
+ notedAt?: string;
63
+ };
64
+ /** Minimal writable session/custom-entry surface for workflow fact writers. */
65
+ export interface RigWorkflowEntryAppender {
66
+ appendEntry<T = unknown>(customType: string, data?: T): void;
67
+ }
68
+ /**
69
+ * Owner-side workflow journal writer. Consumers pass an OMP/custom-entry appender
70
+ * and unversioned fact inputs; the owner mints wire entries and appends them.
71
+ */
72
+ export interface RigWorkflowJournalWriterService {
73
+ appendStarted(appender: RigWorkflowEntryAppender, input: RigWorkflowStartedInput): void;
74
+ appendTargetSelected(appender: RigWorkflowEntryAppender, input: RigWorkflowTargetSelectedInput): void;
75
+ appendTaskSelected(appender: RigWorkflowEntryAppender, input: RigWorkflowTaskSelectedInput): void;
76
+ appendStatusChanged(appender: RigWorkflowEntryAppender, input: RigWorkflowStatusChangedInput): void;
77
+ appendOperatorNote(appender: RigWorkflowEntryAppender, input: RigWorkflowOperatorNoteInput): void;
78
+ }
79
+ export declare const RIG_WORKFLOW_JOURNAL_WRITER_CAPABILITY_ID = "rig.workflow.journal-writer";
80
+ export declare const RIG_WORKFLOW_JOURNAL_WRITER: CapabilityId<RigWorkflowJournalWriterService>;
48
81
  export type RigWorkflowInboxRequested = {
49
82
  schemaVersion: 1;
50
83
  requestId: string;
@@ -1,4 +1,9 @@
1
1
  // @bun
2
+ // packages/contracts/src/capability-id.ts
3
+ function makeCapabilityId(id) {
4
+ return id;
5
+ }
6
+
2
7
  // packages/contracts/src/workflow-journal.ts
3
8
  var RIG_WORKFLOW_STARTED = "rig.workflow.started";
4
9
  var RIG_WORKFLOW_TARGET_SELECTED = "rig.workflow.target.selected";
@@ -7,12 +12,16 @@ var RIG_WORKFLOW_STATUS_CHANGED = "rig.workflow.status.changed";
7
12
  var RIG_WORKFLOW_OPERATOR_NOTE = "rig.workflow.operator.note";
8
13
  var RIG_WORKFLOW_INBOX_REQUESTED = "rig.workflow.inbox.requested";
9
14
  var RIG_WORKFLOW_INBOX_RESOLVED = "rig.workflow.inbox.resolved";
15
+ var RIG_WORKFLOW_JOURNAL_WRITER_CAPABILITY_ID = "rig.workflow.journal-writer";
16
+ var RIG_WORKFLOW_JOURNAL_WRITER = makeCapabilityId(RIG_WORKFLOW_JOURNAL_WRITER_CAPABILITY_ID);
10
17
  export {
11
18
  RIG_WORKFLOW_TASK_SELECTED,
12
19
  RIG_WORKFLOW_TARGET_SELECTED,
13
20
  RIG_WORKFLOW_STATUS_CHANGED,
14
21
  RIG_WORKFLOW_STARTED,
15
22
  RIG_WORKFLOW_OPERATOR_NOTE,
23
+ RIG_WORKFLOW_JOURNAL_WRITER_CAPABILITY_ID,
24
+ RIG_WORKFLOW_JOURNAL_WRITER,
16
25
  RIG_WORKFLOW_INBOX_RESOLVED,
17
26
  RIG_WORKFLOW_INBOX_REQUESTED
18
27
  };
@@ -0,0 +1,16 @@
1
+ /** Typed workspace-domain service seam owned by @rig/workspace-plugin. */
2
+ import type { CapabilityId } from "./capability-id";
3
+ export interface WorkspaceServiceFabricMutationInput {
4
+ readonly projectRoot: string;
5
+ readonly command: "up" | "verify" | "down";
6
+ readonly services?: readonly string[];
7
+ }
8
+ export interface WorkspaceService {
9
+ readonly readSummary: (projectRoot: string) => Promise<unknown>;
10
+ readonly readTopology: (projectRoot: string) => unknown;
11
+ readonly readRemoteFleet: (projectRoot: string) => unknown;
12
+ readonly readServiceFabric: (projectRoot: string) => Promise<unknown>;
13
+ readonly mutateServiceFabric: (input: WorkspaceServiceFabricMutationInput) => Promise<unknown>;
14
+ }
15
+ export declare const WORKSPACE_SERVICE_CAPABILITY_ID = "rig.workspace.service";
16
+ export declare const WORKSPACE_SERVICE: CapabilityId<WorkspaceService>;
@@ -0,0 +1,13 @@
1
+ // @bun
2
+ // packages/contracts/src/capability-id.ts
3
+ function makeCapabilityId(id) {
4
+ return id;
5
+ }
6
+
7
+ // packages/contracts/src/workspace-service.ts
8
+ var WORKSPACE_SERVICE_CAPABILITY_ID = "rig.workspace.service";
9
+ var WORKSPACE_SERVICE = makeCapabilityId(WORKSPACE_SERVICE_CAPABILITY_ID);
10
+ export {
11
+ WORKSPACE_SERVICE_CAPABILITY_ID,
12
+ WORKSPACE_SERVICE
13
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@h-rig/contracts",
3
- "version": "0.0.6-alpha.176",
3
+ "version": "0.0.6-alpha.178",
4
4
  "type": "module",
5
5
  "description": "Rig package",
6
6
  "license": "UNLICENSED",
@@ -61,6 +61,10 @@
61
61
  "./plugin-hooks": {
62
62
  "types": "./dist/src/plugin-hooks.d.ts",
63
63
  "import": "./dist/src/plugin-hooks.js"
64
+ },
65
+ "./session-hook-materializer": {
66
+ "types": "./dist/src/session-hook-materializer.d.ts",
67
+ "import": "./dist/src/session-hook-materializer.js"
64
68
  }
65
69
  },
66
70
  "engines": {