fix(ihm_client): imports ESM explicites vers pkg/sdk_client.js et chemins relatifs
All checks were successful
Build and Push Docker image (ext) / docker (push) Successful in 50s

This commit is contained in:
4NK CI Bot 2025-09-18 15:58:44 +00:00
parent e76f2e1db9
commit 1c20450b05
10 changed files with 48 additions and 48 deletions

View File

@ -1,4 +1,4 @@
import { Device, Process, SecretsStore } from "pkg/sdk_client"; import { Device, Process, SecretsStore } from "../pkg/sdk_client.js";
export interface BackUp { export interface BackUp {
device: Device, device: Device,

View File

@ -1,4 +1,4 @@
import { ProcessState } from '../../../pkg/sdk_client'; import { ProcessState } from '../../../pkg/sdk_client.js';
import Services from '../../services/service'; import Services from '../../services/service';
interface State { interface State {

View File

@ -1,4 +1,4 @@
import { ValidationRule, RoleDefinition } from '../../../pkg/sdk_client'; import { ValidationRule, RoleDefinition } from '../../../pkg/sdk_client.js';
import { showValidationRuleModal } from '../../components/validation-rule-modal/validation-rule-modal'; import { showValidationRuleModal } from '../../components/validation-rule-modal/validation-rule-modal';
export function createKeyValueSection(title: string, id: string, isRoleSection = false) { export function createKeyValueSection(title: string, id: string, isRoleSection = false) {

View File

@ -1,7 +1,7 @@
import { createKeyValueSection } from './key-value-section'; import { createKeyValueSection } from './key-value-section';
import { loadValidationRuleModal } from '../../components/validation-rule-modal/validation-rule-modal'; import { loadValidationRuleModal } from '../../components/validation-rule-modal/validation-rule-modal';
import Services from '../../services/service'; import Services from '../../services/service';
import { RoleDefinition } from '../../../pkg/sdk_client'; import { RoleDefinition } from '../../../pkg/sdk_client.js';
export async function getProcessCreation(container: HTMLElement) { export async function getProcessCreation(container: HTMLElement) {
await loadValidationRuleModal(); await loadValidationRuleModal();

View File

@ -5,7 +5,7 @@
} }
import { membersMock } from '../../mocks/mock-signature/membersMocks'; import { membersMock } from '../../mocks/mock-signature/membersMocks';
import { ApiReturn, Device, Member, Process, RoleDefinition } from '../../../pkg/sdk_client'; import { ApiReturn, Device, Member, Process, RoleDefinition } from '../../../pkg/sdk_client.js';
import { getCorrectDOM } from '../../utils/document.utils'; import { getCorrectDOM } from '../../utils/document.utils';
import chatStyle from '../../../public/style/chat.css?inline'; import chatStyle from '../../../public/style/chat.css?inline';
import { addressToEmoji } from '../../utils/sp-address.utils'; import { addressToEmoji } from '../../utils/sp-address.utils';

View File

@ -1,6 +1,6 @@
import { interpolate } from '../../utils/html.utils'; import { interpolate } from '../../utils/html.utils';
import Services from '../../services/service'; import Services from '../../services/service';
import { Process } from 'pkg/sdk_client'; import { Process } from '../../pkg/sdk_client.js';
import { getCorrectDOM } from '~/utils/document.utils'; import { getCorrectDOM } from '~/utils/document.utils';
let currentPageStyle: HTMLStyleElement | null = null; let currentPageStyle: HTMLStyleElement | null = null;

View File

@ -10,7 +10,7 @@ import { prepareAndSendPairingTx } from './utils/sp-address.utils';
import ModalService from './services/modal.service'; import ModalService from './services/modal.service';
import { MessageType } from './models/process.model'; import { MessageType } from './models/process.model';
import { splitPrivateData, isValid32ByteHex } from './utils/service.utils'; import { splitPrivateData, isValid32ByteHex } from './utils/service.utils';
import { MerkleProofResult } from 'pkg/sdk_client.js'; import { MerkleProofResult } from '../pkg/sdk_client.js';
const routes: { [key: string]: string } = { const routes: { [key: string]: string } = {
home: '/src/pages/home/home.html', home: '/src/pages/home/home.html',
@ -148,7 +148,7 @@ export async function init(): Promise<void> {
} else { } else {
services.restoreDevice(device); services.restoreDevice(device);
} }
// If we create a new device, we most probably don't have anything in db, but just in case // If we create a new device, we most probably don't have anything in db, but just in case
await services.restoreProcessesFromDB(); await services.restoreProcessesFromDB();
await services.restoreSecretsFromDB(); await services.restoreSecretsFromDB();
@ -176,10 +176,10 @@ export async function registerAllListeners() {
const services = await Services.getInstance(); const services = await Services.getInstance();
const tokenService = await TokenService.getInstance(); const tokenService = await TokenService.getInstance();
const errorResponse = (errorMsg: string, origin: string, messageId?: string) => { const errorResponse = (errorMsg: string, origin: string, messageId?: string) => {
window.parent.postMessage( window.parent.postMessage(
{ {
type: MessageType.ERROR, type: MessageType.ERROR,
error: errorMsg, error: errorMsg,
messageId messageId
}, },
@ -213,9 +213,9 @@ export async function registerAllListeners() {
} }
try { try {
const tokens = await tokenService.generateSessionToken(event.origin); const tokens = await tokenService.generateSessionToken(event.origin);
const acceptedMsg = { const acceptedMsg = {
type: MessageType.LINK_ACCEPTED, type: MessageType.LINK_ACCEPTED,
accessToken: tokens.accessToken, accessToken: tokens.accessToken,
refreshToken: tokens.refreshToken, refreshToken: tokens.refreshToken,
messageId: event.data.messageId messageId: event.data.messageId
@ -262,7 +262,7 @@ export async function registerAllListeners() {
await services.handleApiReturn(approveChangeReturn); await services.handleApiReturn(approveChangeReturn);
await services.confirmPairing(); await services.confirmPairing();
// Send success response // Send success response
const successMsg = { const successMsg = {
type: MessageType.PAIRING_CREATED, type: MessageType.PAIRING_CREATED,
@ -295,9 +295,9 @@ export async function registerAllListeners() {
} }
const myProcesses = await services.getMyProcesses(); const myProcesses = await services.getMyProcesses();
window.parent.postMessage( window.parent.postMessage(
{ {
type: MessageType.GET_MY_PROCESSES, type: MessageType.GET_MY_PROCESSES,
myProcesses, myProcesses,
messageId: event.data.messageId messageId: event.data.messageId
@ -308,8 +308,8 @@ export async function registerAllListeners() {
const errorMsg = `Failed to get processes: ${e}`; const errorMsg = `Failed to get processes: ${e}`;
errorResponse(errorMsg, event.origin, event.data.messageId); errorResponse(errorMsg, event.origin, event.data.messageId);
} }
} }
const handleGetProcesses = async (event: MessageEvent) => { const handleGetProcesses = async (event: MessageEvent) => {
if (event.data.type !== MessageType.GET_PROCESSES) { if (event.data.type !== MessageType.GET_PROCESSES) {
return; return;
@ -332,9 +332,9 @@ export async function registerAllListeners() {
} }
const processes = await services.getProcesses(); const processes = await services.getProcesses();
window.parent.postMessage( window.parent.postMessage(
{ {
type: MessageType.PROCESSES_RETRIEVED, type: MessageType.PROCESSES_RETRIEVED,
processes, processes,
messageId: event.data.messageId messageId: event.data.messageId
@ -345,7 +345,7 @@ export async function registerAllListeners() {
const errorMsg = `Failed to get processes: ${e}`; const errorMsg = `Failed to get processes: ${e}`;
errorResponse(errorMsg, event.origin, event.data.messageId); errorResponse(errorMsg, event.origin, event.data.messageId);
} }
} }
/// We got a state for some process and return as many clear attributes as we can /// We got a state for some process and return as many clear attributes as we can
const handleDecryptState = async (event: MessageEvent) => { const handleDecryptState = async (event: MessageEvent) => {
@ -393,7 +393,7 @@ export async function registerAllListeners() {
} }
window.parent.postMessage( window.parent.postMessage(
{ {
type: MessageType.DATA_RETRIEVED, type: MessageType.DATA_RETRIEVED,
data: res, data: res,
messageId: event.data.messageId messageId: event.data.messageId
@ -435,23 +435,23 @@ export async function registerAllListeners() {
if (event.data.type !== MessageType.RENEW_TOKEN) { if (event.data.type !== MessageType.RENEW_TOKEN) {
return; return;
} }
try { try {
const refreshToken = event.data.refreshToken; const refreshToken = event.data.refreshToken;
if (!refreshToken) { if (!refreshToken) {
throw new Error('No refresh token provided'); throw new Error('No refresh token provided');
} }
const newAccessToken = await tokenService.refreshAccessToken(refreshToken, event.origin); const newAccessToken = await tokenService.refreshAccessToken(refreshToken, event.origin);
if (!newAccessToken) { if (!newAccessToken) {
throw new Error('Failed to refresh token'); throw new Error('Failed to refresh token');
} }
window.parent.postMessage( window.parent.postMessage(
{ {
type: MessageType.RENEW_TOKEN, type: MessageType.RENEW_TOKEN,
accessToken: newAccessToken, accessToken: newAccessToken,
refreshToken: refreshToken, refreshToken: refreshToken,
messageId: event.data.messageId messageId: event.data.messageId
@ -481,9 +481,9 @@ export async function registerAllListeners() {
} }
const userPairingId = services.getPairingProcessId(); const userPairingId = services.getPairingProcessId();
window.parent.postMessage( window.parent.postMessage(
{ {
type: MessageType.GET_PAIRING_ID, type: MessageType.GET_PAIRING_ID,
userPairingId, userPairingId,
messageId: event.data.messageId messageId: event.data.messageId
@ -530,7 +530,7 @@ export async function registerAllListeners() {
} }
window.parent.postMessage( window.parent.postMessage(
{ {
type: MessageType.PROCESS_CREATED, type: MessageType.PROCESS_CREATED,
processCreated: res, processCreated: res,
messageId: event.data.messageId messageId: event.data.messageId
@ -567,7 +567,7 @@ export async function registerAllListeners() {
await services.handleApiReturn(res); await services.handleApiReturn(res);
window.parent.postMessage( window.parent.postMessage(
{ {
type: MessageType.UPDATE_NOTIFIED, type: MessageType.UPDATE_NOTIFIED,
messageId: event.data.messageId messageId: event.data.messageId
}, },
@ -599,7 +599,7 @@ export async function registerAllListeners() {
await services.handleApiReturn(res); await services.handleApiReturn(res);
window.parent.postMessage( window.parent.postMessage(
{ {
type: MessageType.STATE_VALIDATED, type: MessageType.STATE_VALIDATED,
validatedProcess: res.updated_process, validatedProcess: res.updated_process,
messageId: event.data.messageId messageId: event.data.messageId
@ -611,7 +611,7 @@ export async function registerAllListeners() {
errorResponse(errorMsg, event.origin, event.data.messageId); errorResponse(errorMsg, event.origin, event.data.messageId);
} }
} }
const handleUpdateProcess = async (event: MessageEvent) => { const handleUpdateProcess = async (event: MessageEvent) => {
if (event.data.type !== MessageType.UPDATE_PROCESS) return; if (event.data.type !== MessageType.UPDATE_PROCESS) return;
@ -703,12 +703,12 @@ export async function registerAllListeners() {
} }
// We'll let the wasm check if roles are consistent // We'll let the wasm check if roles are consistent
const res = await services.updateProcess(process, privateData, publicData, roles); const res = await services.updateProcess(process, privateData, publicData, roles);
await services.handleApiReturn(res); await services.handleApiReturn(res);
window.parent.postMessage( window.parent.postMessage(
{ {
type: MessageType.PROCESS_UPDATED, type: MessageType.PROCESS_UPDATED,
updatedProcess: res.updated_process, updatedProcess: res.updated_process,
messageId: event.data.messageId messageId: event.data.messageId
@ -736,11 +736,11 @@ export async function registerAllListeners() {
if (!accessToken || !(await tokenService.validateToken(accessToken, event.origin))) { if (!accessToken || !(await tokenService.validateToken(accessToken, event.origin))) {
throw new Error('Invalid or expired session token'); throw new Error('Invalid or expired session token');
} }
const decodedData = services.decodeValue(encodedData); const decodedData = services.decodeValue(encodedData);
window.parent.postMessage( window.parent.postMessage(
{ {
type: MessageType.PUBLIC_DATA_DECODED, type: MessageType.PUBLIC_DATA_DECODED,
decodedData, decodedData,
messageId: event.data.messageId messageId: event.data.messageId
@ -764,11 +764,11 @@ export async function registerAllListeners() {
if (!accessToken || !(await tokenService.validateToken(accessToken, event.origin))) { if (!accessToken || !(await tokenService.validateToken(accessToken, event.origin))) {
throw new Error('Invalid or expired session token'); throw new Error('Invalid or expired session token');
} }
const hash = services.getHashForFile(commitedIn, label, fileBlob); const hash = services.getHashForFile(commitedIn, label, fileBlob);
window.parent.postMessage( window.parent.postMessage(
{ {
type: MessageType.VALUE_HASHED, type: MessageType.VALUE_HASHED,
hash, hash,
messageId: event.data.messageId messageId: event.data.messageId
@ -794,7 +794,7 @@ export async function registerAllListeners() {
const proof = services.getMerkleProofForFile(processState, attributeName); const proof = services.getMerkleProofForFile(processState, attributeName);
window.parent.postMessage( window.parent.postMessage(
{ {
type: MessageType.MERKLE_PROOF_RETRIEVED, type: MessageType.MERKLE_PROOF_RETRIEVED,
proof, proof,
messageId: event.data.messageId messageId: event.data.messageId
@ -829,7 +829,7 @@ export async function registerAllListeners() {
const res = services.validateMerkleProof(parsedMerkleProof, documentHash); const res = services.validateMerkleProof(parsedMerkleProof, documentHash);
window.parent.postMessage( window.parent.postMessage(
{ {
type: MessageType.MERKLE_PROOF_VALIDATED, type: MessageType.MERKLE_PROOF_VALIDATED,
isValid: res, isValid: res,
messageId: event.data.messageId messageId: event.data.messageId
@ -939,9 +939,9 @@ document.addEventListener('navigate', ((e: Event) => {
if (event.detail.page === 'chat') { if (event.detail.page === 'chat') {
const container = document.querySelector('.container'); const container = document.querySelector('.container');
if (container) container.innerHTML = ''; if (container) container.innerHTML = '';
//initChat(); //initChat();
const chatElement = document.querySelector('chat-element'); const chatElement = document.querySelector('chat-element');
if (chatElement) { if (chatElement) {
chatElement.setAttribute('process-id', event.detail.processId || ''); chatElement.setAttribute('process-id', event.detail.processId || '');

View File

@ -4,7 +4,7 @@ import validationModalStyle from '../components/validation-modal/validation-moda
import Services from './service'; import Services from './service';
import { init, navigate } from '../router'; import { init, navigate } from '../router';
import { addressToEmoji } from '../utils/sp-address.utils'; import { addressToEmoji } from '../utils/sp-address.utils';
import { RoleDefinition } from 'pkg/sdk_client'; import { RoleDefinition } from '../pkg/sdk_client.js';
import { initValidationModal } from '~/components/validation-modal/validation-modal'; import { initValidationModal } from '~/components/validation-modal/validation-modal';
import { interpolate } from '~/utils/html.utils'; import { interpolate } from '~/utils/html.utils';

View File

@ -58,7 +58,7 @@ export default class Services {
public async init(): Promise<void> { public async init(): Promise<void> {
this.notifications = this.getNotifications(); this.notifications = this.getNotifications();
// SDK is now imported as ES module at the top of the file // SDK ES module est déjà importé statiquement si nécessaire
this.sdkClient = await import('../../pkg/sdk_client.js'); this.sdkClient = await import('../../pkg/sdk_client.js');
this.sdkClient.setup(); this.sdkClient.setup();
for (const wsurl of Object.values(BOOTSTRAPURL)) { for (const wsurl of Object.values(BOOTSTRAPURL)) {

View File

@ -1,4 +1,4 @@
import { AnkFlag } from 'pkg/sdk_client'; import { AnkFlag } from '../pkg/sdk_client.js';
import Services from './services/service'; import Services from './services/service';
let ws: WebSocket; let ws: WebSocket;