@undefineds.co/xpod 0.3.48 → 0.3.50

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 (128) hide show
  1. package/bin/xpod.js +0 -0
  2. package/dist/api/auth/MultiAuthenticator.js +2 -2
  3. package/dist/api/auth/MultiAuthenticator.js.map +1 -1
  4. package/dist/api/chatkit/pod-store.d.ts +16 -17
  5. package/dist/api/chatkit/pod-store.js +299 -231
  6. package/dist/api/chatkit/pod-store.js.map +1 -1
  7. package/dist/api/chatkit/schema.d.ts +1 -1
  8. package/dist/api/chatkit/service.js +13 -11
  9. package/dist/api/chatkit/service.js.map +1 -1
  10. package/dist/api/chatkit/store.d.ts +1 -0
  11. package/dist/api/chatkit/store.js +23 -11
  12. package/dist/api/chatkit/store.js.map +1 -1
  13. package/dist/api/chatkit/types.d.ts +17 -10
  14. package/dist/api/chatkit/types.js +97 -14
  15. package/dist/api/chatkit/types.js.map +1 -1
  16. package/dist/api/container/common.js +16 -2
  17. package/dist/api/container/common.js.map +1 -1
  18. package/dist/api/container/routes.js +3 -0
  19. package/dist/api/container/routes.js.map +1 -1
  20. package/dist/api/container/types.d.ts +3 -0
  21. package/dist/api/container/types.js.map +1 -1
  22. package/dist/api/handlers/ChatKitV1Handler.js +1 -2
  23. package/dist/api/handlers/ChatKitV1Handler.js.map +1 -1
  24. package/dist/api/handlers/CoordinationHandler.d.ts +6 -0
  25. package/dist/api/handlers/CoordinationHandler.js +115 -0
  26. package/dist/api/handlers/CoordinationHandler.js.map +1 -0
  27. package/dist/api/handlers/MatrixHandler.d.ts +11 -0
  28. package/dist/api/handlers/MatrixHandler.js +144 -2
  29. package/dist/api/handlers/MatrixHandler.js.map +1 -1
  30. package/dist/api/handlers/RunHandler.js +33 -15
  31. package/dist/api/handlers/RunHandler.js.map +1 -1
  32. package/dist/api/handlers/index.d.ts +1 -0
  33. package/dist/api/handlers/index.js +1 -0
  34. package/dist/api/handlers/index.js.map +1 -1
  35. package/dist/api/index.d.ts +1 -0
  36. package/dist/api/index.js +1 -0
  37. package/dist/api/index.js.map +1 -1
  38. package/dist/api/matrix/PodMatrixStore.d.ts +25 -1
  39. package/dist/api/matrix/PodMatrixStore.js +253 -41
  40. package/dist/api/matrix/PodMatrixStore.js.map +1 -1
  41. package/dist/api/matrix/index.d.ts +1 -1
  42. package/dist/api/matrix/index.js.map +1 -1
  43. package/dist/api/matrix/types.d.ts +25 -2
  44. package/dist/api/matrix/types.js.map +1 -1
  45. package/dist/api/middleware/AuthMiddleware.d.ts +1 -0
  46. package/dist/api/middleware/AuthMiddleware.js +13 -1
  47. package/dist/api/middleware/AuthMiddleware.js.map +1 -1
  48. package/dist/api/protocol-metadata.d.ts +4 -0
  49. package/dist/api/protocol-metadata.js +64 -0
  50. package/dist/api/protocol-metadata.js.map +1 -0
  51. package/dist/api/reconciler/ClientReconcilerCoordinator.d.ts +42 -0
  52. package/dist/api/reconciler/ClientReconcilerCoordinator.js +250 -0
  53. package/dist/api/reconciler/ClientReconcilerCoordinator.js.map +1 -0
  54. package/dist/api/reconciler/ClientReconcilerCoordinator.jsonld +186 -0
  55. package/dist/api/reconciler/ServerGroupReconcilerService.d.ts +39 -0
  56. package/dist/api/reconciler/ServerGroupReconcilerService.js +91 -0
  57. package/dist/api/reconciler/ServerGroupReconcilerService.js.map +1 -0
  58. package/dist/api/reconciler/ServerGroupReconcilerService.jsonld +146 -0
  59. package/dist/api/reconciler/WakeAgentQueue.d.ts +23 -0
  60. package/dist/api/reconciler/WakeAgentQueue.js +123 -0
  61. package/dist/api/reconciler/WakeAgentQueue.js.map +1 -0
  62. package/dist/api/reconciler/WakeAgentQueue.jsonld +91 -0
  63. package/dist/api/reconciler/coordination.d.ts +61 -0
  64. package/dist/api/reconciler/coordination.js +109 -0
  65. package/dist/api/reconciler/coordination.js.map +1 -0
  66. package/dist/api/reconciler/coordination.jsonld +186 -0
  67. package/dist/api/reconciler/index.d.ts +4 -0
  68. package/dist/api/reconciler/index.js +21 -0
  69. package/dist/api/reconciler/index.js.map +1 -0
  70. package/dist/api/runs/ManagedRunWorker.js +0 -5
  71. package/dist/api/runs/ManagedRunWorker.js.map +1 -1
  72. package/dist/api/runs/RunStateCenter.d.ts +1 -1
  73. package/dist/api/runs/RunStateCenter.js +12 -28
  74. package/dist/api/runs/RunStateCenter.js.map +1 -1
  75. package/dist/api/runs/store.d.ts +12 -15
  76. package/dist/api/runs/store.js +24 -15
  77. package/dist/api/runs/store.js.map +1 -1
  78. package/dist/api/tasks/TaskMaterializer.d.ts +1 -0
  79. package/dist/api/tasks/TaskMaterializer.js +10 -13
  80. package/dist/api/tasks/TaskMaterializer.js.map +1 -1
  81. package/dist/api/tasks/TaskService.d.ts +0 -2
  82. package/dist/api/tasks/TaskService.js +6 -16
  83. package/dist/api/tasks/TaskService.js.map +1 -1
  84. package/dist/api/tasks/store.d.ts +0 -2
  85. package/dist/api/tasks/store.js.map +1 -1
  86. package/dist/cli/commands/auth.d.ts +1 -1
  87. package/dist/cli/commands/auth.js +4 -5
  88. package/dist/cli/commands/auth.js.map +1 -1
  89. package/dist/cli/commands/backup.js +1 -1
  90. package/dist/cli/commands/backup.js.map +1 -1
  91. package/dist/cli/commands/login.js +1 -1
  92. package/dist/cli/commands/login.js.map +1 -1
  93. package/dist/cli/commands/pod.js +1 -1
  94. package/dist/cli/commands/pod.js.map +1 -1
  95. package/dist/cli/lib/auth-context.js +10 -7
  96. package/dist/cli/lib/auth-context.js.map +1 -1
  97. package/dist/cli/lib/auth-helper.d.ts +10 -6
  98. package/dist/cli/lib/auth-helper.js +10 -6
  99. package/dist/cli/lib/auth-helper.js.map +1 -1
  100. package/dist/cli/lib/credentials-store.d.ts +22 -4
  101. package/dist/cli/lib/credentials-store.js +68 -51
  102. package/dist/cli/lib/credentials-store.js.map +1 -1
  103. package/dist/cli/lib/oidc-auth.d.ts +4 -0
  104. package/dist/cli/lib/oidc-auth.js +90 -0
  105. package/dist/cli/lib/oidc-auth.js.map +1 -0
  106. package/dist/cli/lib/oidc-session-storage.d.ts +3 -0
  107. package/dist/cli/lib/oidc-session-storage.js +41 -0
  108. package/dist/cli/lib/oidc-session-storage.js.map +1 -0
  109. package/dist/components/components.jsonld +5 -1
  110. package/dist/components/context.jsonld +103 -0
  111. package/dist/index.d.ts +1 -0
  112. package/dist/index.js +15 -0
  113. package/dist/index.js.map +1 -1
  114. package/dist/provision/LocalPodProvisioningService.d.ts +1 -0
  115. package/dist/provision/LocalPodProvisioningService.js +9 -0
  116. package/dist/provision/LocalPodProvisioningService.js.map +1 -1
  117. package/dist/provision/LocalPodProvisioningService.jsonld +4 -0
  118. package/dist/runtime/Proxy.d.ts +1 -0
  119. package/dist/runtime/Proxy.js +8 -1
  120. package/dist/runtime/Proxy.js.map +1 -1
  121. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-builders/select-query-builder.d.ts.map +1 -1
  122. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-builders/select-query-builder.js +19 -9
  123. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-builders/select-query-builder.js.map +1 -1
  124. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-builders/select-query-builder.d.ts.map +1 -1
  125. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-builders/select-query-builder.js +19 -9
  126. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-builders/select-query-builder.js.map +1 -1
  127. package/node_modules/@undefineds.co/drizzle-solid/package.json +1 -1
  128. package/package.json +5 -4
@@ -1 +1 @@
1
- {"version":3,"file":"credentials-store.js","sourceRoot":"","sources":["../../../src/cli/lib/credentials-store.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * CLI credential storage split into two files:\n *\n * ~/.xpod/config.json — base config (url, webId), chmod 644\n * ~/.xpod/secrets.json — secrets (clientId, clientSecret), chmod 600\n */\nimport { mkdirSync, writeFileSync, readFileSync, unlinkSync, chmodSync, existsSync } from 'fs';\nimport { join } from 'path';\nimport { homedir } from 'os';\n\nexport type AuthType = 'client_credentials' | 'oidc_oauth';\n\nexport interface StoredConfig {\n url: string;\n webId: string;\n authType: AuthType;\n}\n\nexport interface ClientCredentialsSecrets {\n clientId: string;\n clientSecret: string;\n}\n\nexport interface OidcOAuthSecrets {\n oidcRefreshToken: string;\n oidcAccessToken: string;\n oidcExpiresAt: string;\n}\n\nexport type StoredSecrets = ClientCredentialsSecrets | OidcOAuthSecrets;\n\nexport interface StoredCredentials extends StoredConfig {\n secrets: StoredSecrets;\n}\n\nfunction xpodDir(): string {\n return join(homedir(), '.xpod');\n}\n\nexport function getConfigPath(): string {\n return join(xpodDir(), 'config.json');\n}\n\nexport function getSecretsPath(): string {\n return join(xpodDir(), 'secrets.json');\n}\n\nexport function saveCredentials(creds: StoredCredentials): void {\n const dir = xpodDir();\n mkdirSync(dir, { recursive: true });\n\n const configPath = getConfigPath();\n writeFileSync(\n configPath,\n JSON.stringify({ url: creds.url, webId: creds.webId, authType: creds.authType }, null, 2) + '\\n',\n 'utf-8'\n );\n chmodSync(configPath, 0o644);\n\n const secretsPath = getSecretsPath();\n writeFileSync(secretsPath, JSON.stringify(creds.secrets, null, 2) + '\\n', 'utf-8');\n chmodSync(secretsPath, 0o600);\n}\n\nfunction readJson<T>(filePath: string): T | null {\n try {\n return JSON.parse(readFileSync(filePath, 'utf-8')) as T;\n } catch {\n return null;\n }\n}\n\nexport function loadConfig(): StoredConfig | null {\n const data = readJson<Record<string, unknown>>(getConfigPath());\n if (data && typeof data.url === 'string' && typeof data.webId === 'string') {\n const authType = (data.authType as AuthType) || 'client_credentials';\n return { url: data.url, webId: data.webId, authType };\n }\n return null;\n}\n\nexport function loadSecrets(): StoredSecrets | null {\n const data = readJson<Record<string, unknown>>(getSecretsPath());\n if (!data) return null;\n\n // Try Client Credentials format\n if (typeof data.clientId === 'string' && typeof data.clientSecret === 'string') {\n return { clientId: data.clientId, clientSecret: data.clientSecret };\n }\n\n // Try OIDC OAuth format\n if (\n typeof data.oidcRefreshToken === 'string' &&\n typeof data.oidcAccessToken === 'string' &&\n typeof data.oidcExpiresAt === 'string'\n ) {\n return {\n oidcRefreshToken: data.oidcRefreshToken,\n oidcAccessToken: data.oidcAccessToken,\n oidcExpiresAt: data.oidcExpiresAt,\n };\n }\n\n return null;\n}\n\nexport function loadCredentials(): StoredCredentials | null {\n const config = loadConfig();\n const secrets = loadSecrets();\n if (!config || !secrets) return null;\n return { ...config, secrets };\n}\n\nexport function clearCredentials(): void {\n for (const p of [getConfigPath(), getSecretsPath()]) {\n if (existsSync(p)) unlinkSync(p);\n }\n}\n\n// ============================================================================\n// Helper functions for type-safe access\n// ============================================================================\n\nexport function isClientCredentials(secrets: StoredSecrets): secrets is ClientCredentialsSecrets {\n return 'clientId' in secrets && 'clientSecret' in secrets;\n}\n\nexport function isOidcOAuth(secrets: StoredSecrets): secrets is OidcOAuthSecrets {\n return 'oidcRefreshToken' in secrets;\n}\n\n/**\n * Get client credentials from stored credentials.\n * Returns null if using OAuth instead of client credentials.\n */\nexport function getClientCredentials(creds: StoredCredentials): ClientCredentialsSecrets | null {\n if (isClientCredentials(creds.secrets)) {\n return creds.secrets;\n }\n return null;\n}\n\n/**\n * Get OAuth credentials from stored credentials.\n * Returns null if using client credentials instead of OAuth.\n */\nexport function getOAuthCredentials(creds: StoredCredentials): OidcOAuthSecrets | null {\n if (isOidcOAuth(creds.secrets)) {\n return creds.secrets;\n }\n return null;\n}\n"]}
1
+ {"version":3,"file":"credentials-store.js","sourceRoot":"","sources":["../../../src/cli/lib/credentials-store.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Shared credential storage for all Solid tools (xpod, LinX, etc.).\n *\n * Single Solid auth source: $SOLID_HOME/auth/credentials.json (default: ~/.solid/auth/credentials.json)\n */\nimport { mkdirSync, writeFileSync, readFileSync, unlinkSync, chmodSync, existsSync } from 'fs';\nimport { join } from 'path';\nimport { homedir } from 'os';\n\nexport type AuthType = 'client_credentials' | 'oidc_oauth';\n\nexport interface StoredConfig {\n url: string;\n webId: string;\n authType: AuthType;\n}\n\nexport interface ClientCredentialsSecrets {\n clientId: string;\n clientSecret: string;\n}\n\nexport interface OidcOAuthSecrets {\n oidcRefreshToken: string;\n oidcAccessToken: string;\n oidcExpiresAt: string;\n oidcClientId?: string;\n}\n\nexport type StoredSecrets = ClientCredentialsSecrets | OidcOAuthSecrets;\n\nexport interface StoredCredentials extends StoredConfig {\n secrets: StoredSecrets;\n}\n\nexport function getSolidHomeDir(): string {\n const override = process.env.SOLID_HOME?.trim();\n return override ? override : join(homedir(), '.solid');\n}\n\nexport function getSolidAuthDir(): string {\n return join(getSolidHomeDir(), 'auth');\n}\n\nexport function getSolidCredentialsPath(): string {\n return join(getSolidAuthDir(), 'credentials.json');\n}\n\nexport function saveCredentials(creds: StoredCredentials): void {\n const dir = getSolidAuthDir();\n mkdirSync(dir, { recursive: true });\n\n const filePath = getSolidCredentialsPath();\n writeFileSync(filePath, `${JSON.stringify(creds, null, 2)}\\n`, 'utf-8');\n chmodSync(filePath, 0o600);\n}\n\nfunction readJson<T>(filePath: string): T | null {\n try {\n return JSON.parse(readFileSync(filePath, 'utf-8')) as T;\n } catch {\n return null;\n }\n}\n\n/**\n * Load credentials from the shared Solid auth store.\n *\n * This is the only credential source for Solid apps (LinX, xpod, etc.).\n *\n * Format:\n * {\n * url: \"https://id.undefineds.co/\",\n * webId: \"https://id.undefineds.co/user/profile/card#me\",\n * authType: \"oidc_oauth\",\n * secrets: {\n * oidcRefreshToken: \"...\",\n * oidcAccessToken: \"...\",\n * oidcExpiresAt: \"2026-06-06T17:10:49.000Z\",\n * oidcClientId: \"...\"\n * }\n * }\n */\nexport function loadCredentials(): StoredCredentials | null {\n const data = readJson<Record<string, unknown>>(getSolidCredentialsPath());\n if (!data || typeof data.url !== 'string' || typeof data.webId !== 'string') {\n return null;\n }\n\n const authType = data.authType === 'oidc_oauth' ? 'oidc_oauth' : 'client_credentials';\n const rawSecrets = data.secrets;\n if (!rawSecrets || typeof rawSecrets !== 'object') {\n return null;\n }\n\n const secrets = rawSecrets as Record<string, unknown>;\n if (typeof secrets.clientId === 'string' && typeof secrets.clientSecret === 'string') {\n return {\n url: data.url,\n webId: data.webId,\n authType,\n secrets: {\n clientId: secrets.clientId,\n clientSecret: secrets.clientSecret,\n },\n };\n }\n\n if (\n typeof secrets.oidcRefreshToken === 'string' &&\n typeof secrets.oidcAccessToken === 'string' &&\n typeof secrets.oidcExpiresAt === 'string'\n ) {\n return {\n url: data.url,\n webId: data.webId,\n authType,\n secrets: {\n oidcRefreshToken: secrets.oidcRefreshToken,\n oidcAccessToken: secrets.oidcAccessToken,\n oidcExpiresAt: secrets.oidcExpiresAt,\n oidcClientId: typeof secrets.oidcClientId === 'string' ? secrets.oidcClientId : undefined,\n },\n };\n }\n\n return null;\n}\n\nexport function clearCredentials(): void {\n const p = getSolidCredentialsPath();\n if (existsSync(p)) unlinkSync(p);\n}\n\n// ============================================================================\n// Helper functions for type-safe access\n// ============================================================================\n\nexport function isClientCredentials(secrets: StoredSecrets): secrets is ClientCredentialsSecrets {\n return 'clientId' in secrets && 'clientSecret' in secrets;\n}\n\nexport function isOidcOAuth(secrets: StoredSecrets): secrets is OidcOAuthSecrets {\n return 'oidcRefreshToken' in secrets;\n}\n\n/**\n * Get client credentials from stored credentials.\n * Returns null if using OAuth instead of client credentials.\n */\nexport function getClientCredentials(creds: StoredCredentials): ClientCredentialsSecrets | null {\n if (isClientCredentials(creds.secrets)) {\n return creds.secrets;\n }\n return null;\n}\n\n/**\n * Get OAuth credentials from stored credentials.\n * Returns null if using client credentials instead of OAuth.\n */\nexport function getOAuthCredentials(creds: StoredCredentials): OidcOAuthSecrets | null {\n if (isOidcOAuth(creds.secrets)) {\n return creds.secrets;\n }\n return null;\n}\n"]}
@@ -0,0 +1,4 @@
1
+ import { type StoredCredentials } from './credentials-store';
2
+ export declare function getOidcAccessToken(credentials: StoredCredentials, options?: {
3
+ forceRefresh?: boolean;
4
+ }): Promise<string | null>;
@@ -0,0 +1,90 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getOidcAccessToken = getOidcAccessToken;
4
+ const solid_client_authn_node_1 = require("@inrupt/solid-client-authn-node");
5
+ const credentials_store_1 = require("./credentials-store");
6
+ const oidc_session_storage_1 = require("./oidc-session-storage");
7
+ const TOKEN_EXPIRY_SKEW_MS = 60_000;
8
+ async function getOidcAccessToken(credentials, options = {}) {
9
+ const secrets = (0, credentials_store_1.getOAuthCredentials)(credentials);
10
+ if (!secrets)
11
+ return null;
12
+ if (!options.forceRefresh && isUsableAccessToken(secrets)) {
13
+ return secrets.oidcAccessToken;
14
+ }
15
+ return refreshStoredOidcSession(credentials, secrets);
16
+ }
17
+ function isUsableAccessToken(secrets) {
18
+ if (!secrets.oidcAccessToken)
19
+ return false;
20
+ const expiresAt = new Date(secrets.oidcExpiresAt).getTime();
21
+ return Number.isFinite(expiresAt) && expiresAt > Date.now() + TOKEN_EXPIRY_SKEW_MS;
22
+ }
23
+ async function refreshStoredOidcSession(credentials, secrets) {
24
+ const storage = (0, oidc_session_storage_1.createOidcSessionStorage)();
25
+ const sessionId = await resolveStoredOidcSessionId(storage, credentials.webId, credentials.url);
26
+ if (!sessionId)
27
+ return null;
28
+ const session = await (0, solid_client_authn_node_1.getSessionFromStorage)(sessionId, {
29
+ storage,
30
+ refreshSession: false,
31
+ });
32
+ if (!session)
33
+ return null;
34
+ let refreshedTokenSet = null;
35
+ session.events.on(solid_client_authn_node_1.EVENTS.NEW_TOKENS, (tokenSet) => {
36
+ refreshedTokenSet = tokenSet;
37
+ });
38
+ await (0, solid_client_authn_node_1.refreshSession)(session, { storage });
39
+ const nextTokenSet = refreshedTokenSet;
40
+ if (!nextTokenSet?.accessToken)
41
+ return null;
42
+ secrets.oidcRefreshToken = nextTokenSet.refreshToken ?? secrets.oidcRefreshToken;
43
+ secrets.oidcAccessToken = nextTokenSet.accessToken;
44
+ secrets.oidcExpiresAt = nextTokenSet.expiresAt
45
+ ? new Date(nextTokenSet.expiresAt * 1000).toISOString()
46
+ : secrets.oidcExpiresAt;
47
+ secrets.oidcClientId = nextTokenSet.clientId ?? secrets.oidcClientId;
48
+ (0, credentials_store_1.saveCredentials)({
49
+ url: credentials.url,
50
+ webId: session.info.webId ?? credentials.webId,
51
+ authType: 'oidc_oauth',
52
+ secrets,
53
+ });
54
+ return nextTokenSet.accessToken;
55
+ }
56
+ async function resolveStoredOidcSessionId(storage, webId, issuerUrl) {
57
+ const raw = await storage.get('solidClientAuthn:registeredSessions');
58
+ if (!raw)
59
+ return null;
60
+ let sessionIds = [];
61
+ try {
62
+ const parsed = JSON.parse(raw);
63
+ if (Array.isArray(parsed)) {
64
+ sessionIds = parsed.filter((value) => typeof value === 'string');
65
+ }
66
+ }
67
+ catch {
68
+ return null;
69
+ }
70
+ const normalizedIssuer = issuerUrl.replace(/\/+$/u, '');
71
+ for (const sessionId of [...sessionIds].reverse()) {
72
+ const stored = await storage.get(`solidClientAuthenticationUser:${sessionId}`);
73
+ if (!stored)
74
+ continue;
75
+ try {
76
+ const parsed = JSON.parse(stored);
77
+ const sessionWebId = typeof parsed.webId === 'string' ? parsed.webId : null;
78
+ const sessionIssuer = typeof parsed.issuer === 'string' ? parsed.issuer.replace(/\/+$/u, '') : null;
79
+ const sessionUsesDpop = parsed.dpop === true || parsed.dpop === 'true';
80
+ if (sessionWebId === webId && sessionIssuer === normalizedIssuer && !sessionUsesDpop) {
81
+ return sessionId;
82
+ }
83
+ }
84
+ catch {
85
+ continue;
86
+ }
87
+ }
88
+ return null;
89
+ }
90
+ //# sourceMappingURL=oidc-auth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oidc-auth.js","sourceRoot":"","sources":["../../../src/cli/lib/oidc-auth.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n EVENTS,\n getSessionFromStorage,\n refreshSession,\n type SessionTokenSet,\n} from '@inrupt/solid-client-authn-node';\nimport {\n getOAuthCredentials,\n saveCredentials,\n type OidcOAuthSecrets,\n type StoredCredentials,\n} from './credentials-store';\nimport { createOidcSessionStorage } from './oidc-session-storage';\n\nconst TOKEN_EXPIRY_SKEW_MS = 60_000;\n\nexport async function getOidcAccessToken(\n credentials: StoredCredentials,\n options: { forceRefresh?: boolean } = {},\n): Promise<string | null> {\n const secrets = getOAuthCredentials(credentials);\n if (!secrets) return null;\n\n if (!options.forceRefresh && isUsableAccessToken(secrets)) {\n return secrets.oidcAccessToken;\n }\n\n return refreshStoredOidcSession(credentials, secrets);\n}\n\nfunction isUsableAccessToken(secrets: OidcOAuthSecrets): boolean {\n if (!secrets.oidcAccessToken) return false;\n const expiresAt = new Date(secrets.oidcExpiresAt).getTime();\n return Number.isFinite(expiresAt) && expiresAt > Date.now() + TOKEN_EXPIRY_SKEW_MS;\n}\n\nasync function refreshStoredOidcSession(\n credentials: StoredCredentials,\n secrets: OidcOAuthSecrets,\n): Promise<string | null> {\n const storage = createOidcSessionStorage();\n const sessionId = await resolveStoredOidcSessionId(storage, credentials.webId, credentials.url);\n if (!sessionId) return null;\n\n const session = await getSessionFromStorage(sessionId, {\n storage,\n refreshSession: false,\n });\n if (!session) return null;\n\n let refreshedTokenSet: SessionTokenSet | null = null;\n session.events.on(EVENTS.NEW_TOKENS, (tokenSet) => {\n refreshedTokenSet = tokenSet;\n });\n\n await refreshSession(session, { storage });\n\n const nextTokenSet = refreshedTokenSet as SessionTokenSet | null;\n if (!nextTokenSet?.accessToken) return null;\n\n secrets.oidcRefreshToken = nextTokenSet.refreshToken ?? secrets.oidcRefreshToken;\n secrets.oidcAccessToken = nextTokenSet.accessToken;\n secrets.oidcExpiresAt = nextTokenSet.expiresAt\n ? new Date(nextTokenSet.expiresAt * 1000).toISOString()\n : secrets.oidcExpiresAt;\n secrets.oidcClientId = nextTokenSet.clientId ?? secrets.oidcClientId;\n\n saveCredentials({\n url: credentials.url,\n webId: session.info.webId ?? credentials.webId,\n authType: 'oidc_oauth',\n secrets,\n });\n\n return nextTokenSet.accessToken;\n}\n\nasync function resolveStoredOidcSessionId(\n storage: ReturnType<typeof createOidcSessionStorage>,\n webId: string,\n issuerUrl: string,\n): Promise<string | null> {\n const raw = await storage.get('solidClientAuthn:registeredSessions');\n if (!raw) return null;\n\n let sessionIds: string[] = [];\n try {\n const parsed = JSON.parse(raw) as unknown;\n if (Array.isArray(parsed)) {\n sessionIds = parsed.filter((value): value is string => typeof value === 'string');\n }\n } catch {\n return null;\n }\n\n const normalizedIssuer = issuerUrl.replace(/\\/+$/u, '');\n for (const sessionId of [...sessionIds].reverse()) {\n const stored = await storage.get(`solidClientAuthenticationUser:${sessionId}`);\n if (!stored) continue;\n\n try {\n const parsed = JSON.parse(stored) as { webId?: string; issuer?: string; dpop?: string | boolean };\n const sessionWebId = typeof parsed.webId === 'string' ? parsed.webId : null;\n const sessionIssuer = typeof parsed.issuer === 'string' ? parsed.issuer.replace(/\\/+$/u, '') : null;\n const sessionUsesDpop = parsed.dpop === true || parsed.dpop === 'true';\n if (sessionWebId === webId && sessionIssuer === normalizedIssuer && !sessionUsesDpop) {\n return sessionId;\n }\n } catch {\n continue;\n }\n }\n\n return null;\n}\n"]}
@@ -0,0 +1,3 @@
1
+ import type { IStorage } from '@inrupt/solid-client-authn-node';
2
+ export declare function createOidcSessionStorage(): IStorage;
3
+ export declare function clearOidcSessionStorage(): void;
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createOidcSessionStorage = createOidcSessionStorage;
4
+ exports.clearOidcSessionStorage = clearOidcSessionStorage;
5
+ const fs_1 = require("fs");
6
+ const path_1 = require("path");
7
+ const credentials_store_1 = require("./credentials-store");
8
+ function storageDir() {
9
+ return (0, path_1.join)((0, credentials_store_1.getSolidAuthDir)(), 'oidc-storage');
10
+ }
11
+ function keyPath(key) {
12
+ return (0, path_1.join)(storageDir(), encodeURIComponent(key));
13
+ }
14
+ function createOidcSessionStorage() {
15
+ return {
16
+ async get(key) {
17
+ const path = keyPath(key);
18
+ if (!(0, fs_1.existsSync)(path))
19
+ return undefined;
20
+ return (0, fs_1.readFileSync)(path, 'utf-8');
21
+ },
22
+ async set(key, value) {
23
+ (0, fs_1.mkdirSync)(storageDir(), { recursive: true });
24
+ const path = keyPath(key);
25
+ (0, fs_1.writeFileSync)(path, value, 'utf-8');
26
+ (0, fs_1.chmodSync)(path, 0o600);
27
+ },
28
+ async delete(key) {
29
+ const path = keyPath(key);
30
+ if ((0, fs_1.existsSync)(path))
31
+ (0, fs_1.unlinkSync)(path);
32
+ },
33
+ };
34
+ }
35
+ function clearOidcSessionStorage() {
36
+ const dir = storageDir();
37
+ if ((0, fs_1.existsSync)(dir)) {
38
+ (0, fs_1.rmSync)(dir, { recursive: true, force: true });
39
+ }
40
+ }
41
+ //# sourceMappingURL=oidc-session-storage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oidc-session-storage.js","sourceRoot":"","sources":["../../../src/cli/lib/oidc-session-storage.ts"],"names":[],"mappings":";;AAaA,4DAkBC;AAED,0DAKC;AAtCD,2BAAuG;AACvG,+BAA4B;AAE5B,2DAAsD;AAEtD,SAAS,UAAU;IACjB,OAAO,IAAA,WAAI,EAAC,IAAA,mCAAe,GAAE,EAAE,cAAc,CAAC,CAAC;AACjD,CAAC;AAED,SAAS,OAAO,CAAC,GAAW;IAC1B,OAAO,IAAA,WAAI,EAAC,UAAU,EAAE,EAAE,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC;AACrD,CAAC;AAED,SAAgB,wBAAwB;IACtC,OAAO;QACL,KAAK,CAAC,GAAG,CAAC,GAAW;YACnB,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;YAC1B,IAAI,CAAC,IAAA,eAAU,EAAC,IAAI,CAAC;gBAAE,OAAO,SAAS,CAAC;YACxC,OAAO,IAAA,iBAAY,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACrC,CAAC;QACD,KAAK,CAAC,GAAG,CAAC,GAAW,EAAE,KAAa;YAClC,IAAA,cAAS,EAAC,UAAU,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC7C,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;YAC1B,IAAA,kBAAa,EAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;YACpC,IAAA,cAAS,EAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACzB,CAAC;QACD,KAAK,CAAC,MAAM,CAAC,GAAW;YACtB,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;YAC1B,IAAI,IAAA,eAAU,EAAC,IAAI,CAAC;gBAAE,IAAA,eAAU,EAAC,IAAI,CAAC,CAAC;QACzC,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAgB,uBAAuB;IACrC,MAAM,GAAG,GAAG,UAAU,EAAE,CAAC;IACzB,IAAI,IAAA,eAAU,EAAC,GAAG,CAAC,EAAE,CAAC;QACpB,IAAA,WAAM,EAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAChD,CAAC;AACH,CAAC","sourcesContent":["import { chmodSync, existsSync, mkdirSync, readFileSync, rmSync, unlinkSync, writeFileSync } from 'fs';\nimport { join } from 'path';\nimport type { IStorage } from '@inrupt/solid-client-authn-node';\nimport { getSolidAuthDir } from './credentials-store';\n\nfunction storageDir(): string {\n return join(getSolidAuthDir(), 'oidc-storage');\n}\n\nfunction keyPath(key: string): string {\n return join(storageDir(), encodeURIComponent(key));\n}\n\nexport function createOidcSessionStorage(): IStorage {\n return {\n async get(key: string): Promise<string | undefined> {\n const path = keyPath(key);\n if (!existsSync(path)) return undefined;\n return readFileSync(path, 'utf-8');\n },\n async set(key: string, value: string): Promise<void> {\n mkdirSync(storageDir(), { recursive: true });\n const path = keyPath(key);\n writeFileSync(path, value, 'utf-8');\n chmodSync(path, 0o600);\n },\n async delete(key: string): Promise<void> {\n const path = keyPath(key);\n if (existsSync(path)) unlinkSync(path);\n },\n };\n}\n\nexport function clearOidcSessionStorage(): void {\n const dir = storageDir();\n if (existsSync(dir)) {\n rmSync(dir, { recursive: true, force: true });\n }\n}\n"]}
@@ -95,6 +95,10 @@
95
95
  "undefineds:dist/storage/locking/UrlAwareRedisLocker.jsonld",
96
96
  "undefineds:dist/provision/ProvisionPodCreator.jsonld",
97
97
  "undefineds:dist/provision/ProvisionCodeCodec.jsonld",
98
- "undefineds:dist/provision/LocalPodProvisioningService.jsonld"
98
+ "undefineds:dist/provision/LocalPodProvisioningService.jsonld",
99
+ "undefineds:dist/api/reconciler/coordination.jsonld",
100
+ "undefineds:dist/api/reconciler/ClientReconcilerCoordinator.jsonld",
101
+ "undefineds:dist/api/reconciler/WakeAgentQueue.jsonld",
102
+ "undefineds:dist/api/reconciler/ServerGroupReconcilerService.jsonld"
99
103
  ]
100
104
  }
@@ -2451,6 +2451,109 @@
2451
2451
  "@id": "undefineds:dist/provision/LocalPodProvisioningService.jsonld#LocalPodProvisioningService_options_authMode"
2452
2452
  }
2453
2453
  }
2454
+ },
2455
+ "ReconcilerCoordinationMetadata": {
2456
+ "@id": "undefineds:dist/api/reconciler/coordination.jsonld#ReconcilerCoordinationMetadata",
2457
+ "@prefix": true,
2458
+ "@context": {}
2459
+ },
2460
+ "SharedWakeAgentJob": {
2461
+ "@id": "undefineds:dist/api/reconciler/coordination.jsonld#SharedWakeAgentJob",
2462
+ "@prefix": true,
2463
+ "@context": {}
2464
+ },
2465
+ "WakeAgentLeaseFields": {
2466
+ "@id": "undefineds:dist/api/reconciler/coordination.jsonld#WakeAgentLeaseFields",
2467
+ "@prefix": true,
2468
+ "@context": {}
2469
+ },
2470
+ "ClientCapability": {
2471
+ "@id": "undefineds:dist/api/reconciler/coordination.jsonld#ClientCapability",
2472
+ "@prefix": true,
2473
+ "@context": {}
2474
+ },
2475
+ "ClientReconcilerLease": {
2476
+ "@id": "undefineds:dist/api/reconciler/coordination.jsonld#ClientReconcilerLease",
2477
+ "@prefix": true,
2478
+ "@context": {}
2479
+ },
2480
+ "ClientReconcilerActivationOptions": {
2481
+ "@id": "undefineds:dist/api/reconciler/coordination.jsonld#ClientReconcilerActivationOptions",
2482
+ "@prefix": true,
2483
+ "@context": {}
2484
+ },
2485
+ "ClientReconcilerCoordinator": {
2486
+ "@id": "undefineds:dist/api/reconciler/ClientReconcilerCoordinator.jsonld#ClientReconcilerCoordinator",
2487
+ "@prefix": true,
2488
+ "@context": {
2489
+ "options": {
2490
+ "@id": "undefineds:dist/api/reconciler/ClientReconcilerCoordinator.jsonld#ClientReconcilerCoordinator_options"
2491
+ }
2492
+ }
2493
+ },
2494
+ "ClientReconcilerCoordinatorOptions": {
2495
+ "@id": "undefineds:dist/api/reconciler/ClientReconcilerCoordinator.jsonld#ClientReconcilerCoordinatorOptions",
2496
+ "@prefix": true,
2497
+ "@context": {}
2498
+ },
2499
+ "UpsertClientCapabilityInput": {
2500
+ "@id": "undefineds:dist/api/reconciler/ClientReconcilerCoordinator.jsonld#UpsertClientCapabilityInput",
2501
+ "@prefix": true,
2502
+ "@context": {}
2503
+ },
2504
+ "ActivateClientReconcilerLeaseInput": {
2505
+ "@id": "undefineds:dist/api/reconciler/ClientReconcilerCoordinator.jsonld#ActivateClientReconcilerLeaseInput",
2506
+ "@prefix": true,
2507
+ "@context": {}
2508
+ },
2509
+ "ReleaseClientReconcilerLeaseInput": {
2510
+ "@id": "undefineds:dist/api/reconciler/ClientReconcilerCoordinator.jsonld#ReleaseClientReconcilerLeaseInput",
2511
+ "@prefix": true,
2512
+ "@context": {}
2513
+ },
2514
+ "InMemoryWakeAgentQueue": {
2515
+ "@id": "undefineds:dist/api/reconciler/WakeAgentQueue.jsonld#InMemoryWakeAgentQueue",
2516
+ "@prefix": true,
2517
+ "@context": {}
2518
+ },
2519
+ "WakeAgentEnqueueResult": {
2520
+ "@id": "undefineds:dist/api/reconciler/WakeAgentQueue.jsonld#WakeAgentEnqueueResult",
2521
+ "@prefix": true,
2522
+ "@context": {}
2523
+ },
2524
+ "WakeAgentQueue": {
2525
+ "@id": "undefineds:dist/api/reconciler/WakeAgentQueue.jsonld#WakeAgentQueue",
2526
+ "@prefix": true,
2527
+ "@context": {}
2528
+ },
2529
+ "WakeAgentQueueOptions": {
2530
+ "@id": "undefineds:dist/api/reconciler/WakeAgentQueue.jsonld#WakeAgentQueueOptions",
2531
+ "@prefix": true,
2532
+ "@context": {}
2533
+ },
2534
+ "ServerGroupReconcilerService": {
2535
+ "@id": "undefineds:dist/api/reconciler/ServerGroupReconcilerService.jsonld#ServerGroupReconcilerService",
2536
+ "@prefix": true,
2537
+ "@context": {
2538
+ "options": {
2539
+ "@id": "undefineds:dist/api/reconciler/ServerGroupReconcilerService.jsonld#ServerGroupReconcilerService_options"
2540
+ }
2541
+ }
2542
+ },
2543
+ "ReconcileGroupThreadMessageInput": {
2544
+ "@id": "undefineds:dist/api/reconciler/ServerGroupReconcilerService.jsonld#ReconcileGroupThreadMessageInput",
2545
+ "@prefix": true,
2546
+ "@context": {}
2547
+ },
2548
+ "ReconcileGroupThreadMessageResult": {
2549
+ "@id": "undefineds:dist/api/reconciler/ServerGroupReconcilerService.jsonld#ReconcileGroupThreadMessageResult",
2550
+ "@prefix": true,
2551
+ "@context": {}
2552
+ },
2553
+ "ServerGroupReconcilerServiceOptions": {
2554
+ "@id": "undefineds:dist/api/reconciler/ServerGroupReconcilerService.jsonld#ServerGroupReconcilerServiceOptions",
2555
+ "@prefix": true,
2556
+ "@context": {}
2454
2557
  }
2455
2558
  }
2456
2559
  ]
package/dist/index.d.ts CHANGED
@@ -87,6 +87,7 @@ import { ScopedPickWebIdHandler } from './identity/oidc/ScopedPickWebIdHandler';
87
87
  import { ProvisionPodCreator } from './provision/ProvisionPodCreator';
88
88
  import { ProvisionCodeCodec } from './provision/ProvisionCodeCodec';
89
89
  import { LocalPodProvisioningService } from './provision/LocalPodProvisioningService';
90
+ export * from './api/reconciler';
90
91
  export type { DnsProvider, ListDnsRecordsInput, ListableDnsProvider, DeleteDnsRecordInput, DnsRecordSummary, UpsertDnsRecordInput, } from './dns/DnsProvider';
91
92
  export type { EdgeNodeCertificateProvisioner } from './edge/EdgeNodeCertificateProvisioner';
92
93
  export type { EdgeNodeTunnelManager } from './edge/interfaces/EdgeNodeTunnelManager';
package/dist/index.js CHANGED
@@ -1,4 +1,18 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
2
16
  Object.defineProperty(exports, "__esModule", { value: true });
3
17
  exports.PodRoutingHttpHandler = exports.CenterNodeRegistrationService = exports.UsageTrackingStore = exports.ClusterIdentifierStrategy = exports.EdgeNodeModeDetector = exports.AcmeCertificateManager = exports.EdgeNodeCertificateService = exports.EdgeNodeAgent = exports.EdgeNodeHealthProbeService = exports.FrpTunnelManager = exports.NoopEdgeNodeTunnelManager = exports.SimpleEdgeNodeTunnelManager = exports.Dns01CertificateProvisioner = exports.EdgeNodeDnsCoordinator = exports.TencentDnsProvider = exports.PerAccountQuotaStrategy = exports.NoopEntitlementProvider = exports.HttpEntitlementProvider = exports.NoopQuotaService = exports.DrizzleQuotaService = exports.BaseKeyValueStorage = exports.SqliteKeyValueStorage = exports.RedisKeyValueStorage = exports.PostgresKeyValueStorage = exports.ValidatingIdentityProviderHttpHandler = exports.DrizzleIndexedStorage = exports.ReservedSuffixIdentifierGenerator = exports.TerminalHttpHandler = exports.EdgeNodeCertificateHttpHandler = exports.TracingHandler = exports.RouterHttpRoute = exports.RouterHttpHandler = exports.EdgeNodeProxyHttpHandler = exports.EdgeNodeDirectDebugHttpHandler = exports.ClusterWebSocketConfigurator = exports.ClusterIngressRouter = exports.QuotaAdminHttpHandler = exports.SubgraphSparqlHttpHandler = exports.QuintstoreSparqlEngine = exports.QuadstoreSparqlEngine = exports.SubgraphQueryEngine = exports.SparqlUpdateResourceStore = exports.ConfigurableLoggerFactory = exports.MixDataAccessor = exports.SolidRdfDataAccessor = exports.QuintStoreSparqlDataAccessor = exports.QuadstoreSparqlDataAccessor = exports.MinioDataAccessor = exports.RepresentationPartialConvertingStore = exports.AppStaticAssetHandler = void 0;
4
18
  exports.LocalPodProvisioningService = exports.ProvisionCodeCodec = exports.ProvisionPodCreator = exports.UrlAwareRedisLocker = exports.ScopedPickWebIdHandler = exports.LoopbackClientIdAdapterFactory = exports.AutoDetectIdentityProviderHandler = exports.AutoDetectOidcHandler = exports.DisabledIdentityProviderHandler = exports.DisabledOidcHandler = exports.SubdomainPodIdentifierStrategy = exports.MultiDomainIdentifierStrategy = exports.SubdomainService = exports.LocalTunnelProvider = exports.CloudflareTunnelProvider = exports.CredentialReaderImpl = exports.CredentialReader = exports.EmbeddingServiceImpl = exports.EmbeddingService = exports.ProviderRegistryImpl = exports.ProviderRegistry = exports.VectorHttpHandler = exports.PostgresVectorStore = exports.SqliteVectorStore = exports.VectorStore = exports.SolidRdfSparqlEngine = exports.PostgresRdfEngine = exports.SolidRdfEngine = exports.ShadowRdfQuintStore = exports.RdfSparqlAdapter = exports.Rdf3xIndex = exports.RdfQuadIndex = exports.RdfTermDictionary = exports.PgQuintStore = exports.SqliteQuintStore = exports.QuintStore = exports.ReactAppViewHandler = void 0;
@@ -175,6 +189,7 @@ const ProvisionCodeCodec_1 = require("./provision/ProvisionCodeCodec");
175
189
  Object.defineProperty(exports, "ProvisionCodeCodec", { enumerable: true, get: function () { return ProvisionCodeCodec_1.ProvisionCodeCodec; } });
176
190
  const LocalPodProvisioningService_1 = require("./provision/LocalPodProvisioningService");
177
191
  Object.defineProperty(exports, "LocalPodProvisioningService", { enumerable: true, get: function () { return LocalPodProvisioningService_1.LocalPodProvisioningService; } });
192
+ __exportStar(require("./api/reconciler"), exports);
178
193
  // Export the new AppStaticAssetHandler
179
194
  var AppStaticAssetHandler_1 = require("./http/AppStaticAssetHandler");
180
195
  Object.defineProperty(exports, "AppStaticAssetHandler", { enumerable: true, get: function () { return AppStaticAssetHandler_1.AppStaticAssetHandler; } });
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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","sourcesContent":["import './runtime/configure-drizzle-solid';\nimport { RepresentationPartialConvertingStore } from './storage/RepresentationPartialConvertingStore';\nimport { MinioDataAccessor } from './storage/accessors/MinioDataAccessor';\nimport { QuadstoreSparqlDataAccessor } from './storage/accessors/QuadstoreSparqlDataAccessor';\nimport { QuintStoreSparqlDataAccessor } from './storage/accessors/QuintStoreSparqlDataAccessor';\nimport { SolidRdfDataAccessor } from './storage/accessors/SolidRdfDataAccessor';\nimport { MixDataAccessor } from './storage/accessors/MixDataAccessor';\nimport { ConfigurableLoggerFactory } from './logging/ConfigurableLoggerFactory';\nimport { SubgraphQueryEngine } from './storage/sparql/SubgraphQueryEngine';\nimport { QuadstoreSparqlEngine, QuintstoreSparqlEngine } from './storage/sparql/CompatibilitySparqlEngine';\nexport type { SparqlEngine } from './storage/sparql/SubgraphQueryEngine';\nexport type {\n RdfEngineLike,\n RdfEngineStorageStats,\n RdfDerivedIndexRefreshResult,\n RdfIndexStats,\n RdfIndexSpaceObject,\n RdfIndexMetrics,\n RdfIndexPutOptions,\n RdfPatternQuery,\n RdfQuadIndexOptions,\n RdfQuadIndexScanResult,\n RdfShadowBackfillOptions,\n RdfShadowBackfillResult,\n RdfShadowDiff,\n RdfShadowScanResult,\n RdfSourceInput,\n} from './storage/rdf/types';\nexport type { RdfSparqlCompileResult } from './storage/rdf/RdfSparqlAdapter';\nexport type { ShadowRdfQuintStoreOptions } from './storage/rdf/ShadowRdfQuintStore';\nexport type {\n SolidRdfSparqlEngineOptions,\n SolidRdfSparqlFallback,\n} from './storage/rdf/SolidRdfSparqlEngine';\nexport type { PostgresRdfEngineOptions } from './storage/rdf/PostgresRdfEngine';\nimport { SubgraphSparqlHttpHandler } from './http/SubgraphSparqlHttpHandler';\nimport { QuotaAdminHttpHandler } from './http/quota/QuotaAdminHttpHandler';\nimport { SparqlUpdateResourceStore } from './storage/SparqlUpdateResourceStore';\nimport { ClusterIngressRouter } from './http/ClusterIngressRouter';\nimport { ClusterWebSocketConfigurator } from './http/ClusterWebSocketConfigurator';\nimport { EdgeNodeDirectDebugHttpHandler } from './http/EdgeNodeDirectDebugHttpHandler';\nimport { EdgeNodeProxyHttpHandler } from './http/EdgeNodeProxyHttpHandler';\nimport { RouterHttpHandler } from './http/RouterHttpHandler';\nimport { RouterHttpRoute } from './http/RouterHttpRoute';\nimport { TracingHandler } from './http/TracingHandler';\nimport { TerminalHttpHandler } from './http/terminal/TerminalHttpHandler';\nimport { EdgeNodeCertificateHttpHandler } from './http/admin/EdgeNodeCertificateHttpHandler';\nimport { ReservedSuffixIdentifierGenerator } from './pods/ReservedSuffixIdentifierGenerator';\nimport { DrizzleIndexedStorage } from './identity/drizzle/DrizzleIndexedStorage';\nimport { ValidatingIdentityProviderHttpHandler } from './identity/ValidatingIdentityProviderHttpHandler';\nimport { PostgresKeyValueStorage } from './storage/keyvalue/PostgresKeyValueStorage';\nimport { RedisKeyValueStorage } from './storage/keyvalue/RedisKeyValueStorage';\nimport { SqliteKeyValueStorage } from './storage/keyvalue/SqliteKeyValueStorage';\nimport { BaseKeyValueStorage } from './storage/keyvalue/BaseKeyValueStorage';\nimport { DrizzleQuotaService } from './quota/DrizzleQuotaService';\nimport { NoopQuotaService } from './quota/NoopQuotaService';\nimport { HttpEntitlementProvider, NoopEntitlementProvider } from './quota/EntitlementProvider';\nimport { PerAccountQuotaStrategy } from './storage/quota/PerAccountQuotaStrategy';\nimport { TencentDnsProvider } from './dns/tencent/TencentDnsProvider';\nimport { EdgeNodeDnsCoordinator } from './edge/EdgeNodeDnsCoordinator';\nimport { Dns01CertificateProvisioner } from './edge/Dns01CertificateProvisioner';\nimport { SimpleEdgeNodeTunnelManager, NoopEdgeNodeTunnelManager } from './edge/EdgeNodeTunnelManager';\nimport { FrpTunnelManager } from './edge/FrpTunnelManager';\nimport { AcmeCertificateManager } from './edge/acme/AcmeCertificateManager';\nimport { EdgeNodeHealthProbeService } from './edge/EdgeNodeHealthProbeService';\nimport { EdgeNodeAgent } from './edge/EdgeNodeAgent';\nimport { EdgeNodeCertificateService } from './service/EdgeNodeCertificateService';\nimport { createBandwidthThrottleTransform } from './util/stream/BandwidthThrottleTransform';\nimport { UsageTrackingStore } from './storage/quota/UsageTrackingStore';\nimport { EdgeNodeModeDetector } from './edge/EdgeNodeModeDetector';\nimport { ClusterIdentifierStrategy } from './util/identifiers/ClusterIdentifierStrategy';\nimport { CenterNodeRegistrationService } from './identity/CenterNodeRegistrationService';\nimport { PodRoutingHttpHandler } from './http/PodRoutingHttpHandler';\nimport { ReactAppViewHandler } from './identity/ReactAppViewHandler';\nimport { SqliteQuintStore } from './storage/quint/SqliteQuintStore';\nimport { PgQuintStore } from './storage/quint/PgQuintStore';\nimport { QuintStore } from './storage/quint/types';\nimport { RdfQuadIndex } from './storage/rdf/RdfQuadIndex';\nimport { Rdf3xIndex } from './storage/rdf/Rdf3xIndex';\nimport { RdfSparqlAdapter } from './storage/rdf/RdfSparqlAdapter';\nimport { RdfTermDictionary } from './storage/rdf/RdfTermDictionary';\nimport { ShadowRdfQuintStore } from './storage/rdf/ShadowRdfQuintStore';\nimport { SolidRdfEngine } from './storage/rdf/SolidRdfEngine';\nimport { PostgresRdfEngine } from './storage/rdf/PostgresRdfEngine';\nimport { SolidRdfSparqlEngine } from './storage/rdf/SolidRdfSparqlEngine';\nimport type { EdgeNodeCertificateProvisioner } from './edge/EdgeNodeCertificateProvisioner';\n// Vector components\nimport { SqliteVectorStore, PostgresVectorStore } from './storage/vector/index';\nimport { VectorHttpHandler } from './http/vector/VectorHttpHandler';\nimport { ProviderRegistry } from './ai/service/ProviderRegistry';\nimport { ProviderRegistryImpl } from './ai/service/ProviderRegistryImpl';\nimport { EmbeddingService } from './ai/service/EmbeddingService';\nimport { EmbeddingServiceImpl } from './ai/service/EmbeddingServiceImpl';\nimport { CredentialReader } from './ai/service/CredentialReader';\nimport { CredentialReaderImpl } from './ai/service/CredentialReaderImpl';\nimport { VectorStore } from './storage/vector/VectorStore';\n// Tunnel and Subdomain components\nimport { CloudflareTunnelProvider } from './tunnel/CloudflareTunnelProvider';\nimport { LocalTunnelProvider } from './tunnel/LocalTunnelProvider';\nimport { SubdomainService } from './subdomain/SubdomainService';\nimport { UrlAwareRedisLocker } from './storage/locking/UrlAwareRedisLocker';\n// IdP/SP separation components\nimport { MultiDomainIdentifierStrategy } from './util/identifiers/MultiDomainIdentifierStrategy';\nimport { SubdomainPodIdentifierStrategy } from './util/identifiers/SubdomainPodIdentifierStrategy';\nimport { DisabledOidcHandler } from './identity/oidc/DisabledOidcHandler';\nimport { DisabledIdentityProviderHandler } from './identity/oidc/DisabledIdentityProviderHandler';\nimport { AutoDetectOidcHandler } from './identity/oidc/AutoDetectOidcHandler';\nimport { AutoDetectIdentityProviderHandler } from './identity/oidc/AutoDetectIdentityProviderHandler';\nimport { LoopbackClientIdAdapterFactory } from './identity/oidc/LoopbackClientIdAdapterFactory';\nimport { ScopedPickWebIdHandler } from './identity/oidc/ScopedPickWebIdHandler';\n// Provision components\nimport { ProvisionPodCreator } from './provision/ProvisionPodCreator';\nimport { ProvisionCodeCodec } from './provision/ProvisionCodeCodec';\nimport { LocalPodProvisioningService } from './provision/LocalPodProvisioningService';\n\nexport type {\n DnsProvider,\n ListDnsRecordsInput,\n ListableDnsProvider,\n DeleteDnsRecordInput,\n DnsRecordSummary,\n UpsertDnsRecordInput,\n} from './dns/DnsProvider';\nexport type { EdgeNodeCertificateProvisioner } from './edge/EdgeNodeCertificateProvisioner';\nexport type { EdgeNodeTunnelManager } from './edge/interfaces/EdgeNodeTunnelManager';\nexport type { QuotaService, AccountQuota } from './quota/QuotaService';\nexport type { EntitlementProvider, AccountEntitlement } from './quota/EntitlementProvider';\n// Tunnel and Subdomain types\nexport type {\n TunnelProvider,\n TunnelConfig,\n TunnelSetupOptions,\n TunnelStatus,\n} from './tunnel/TunnelProvider';\nexport type {\n SubdomainRegistration,\n ConnectivityResult,\n SubdomainServiceOptions,\n} from './subdomain/SubdomainService';\n// Export the new AppStaticAssetHandler\nexport { AppStaticAssetHandler } from './http/AppStaticAssetHandler';\n\nexport {\n RepresentationPartialConvertingStore,\n MinioDataAccessor,\n QuadstoreSparqlDataAccessor,\n QuintStoreSparqlDataAccessor,\n SolidRdfDataAccessor,\n MixDataAccessor,\n ConfigurableLoggerFactory,\n SparqlUpdateResourceStore,\n SubgraphQueryEngine,\n QuadstoreSparqlEngine,\n QuintstoreSparqlEngine,\n SubgraphSparqlHttpHandler,\n QuotaAdminHttpHandler,\n ClusterIngressRouter,\n ClusterWebSocketConfigurator,\n EdgeNodeDirectDebugHttpHandler,\n EdgeNodeProxyHttpHandler,\n RouterHttpHandler,\n RouterHttpRoute,\n TracingHandler,\n EdgeNodeCertificateHttpHandler,\n TerminalHttpHandler,\n ReservedSuffixIdentifierGenerator,\n DrizzleIndexedStorage,\n ValidatingIdentityProviderHttpHandler,\n PostgresKeyValueStorage,\n RedisKeyValueStorage,\n SqliteKeyValueStorage,\n BaseKeyValueStorage,\n DrizzleQuotaService,\n NoopQuotaService,\n HttpEntitlementProvider,\n NoopEntitlementProvider,\n PerAccountQuotaStrategy,\n TencentDnsProvider,\n EdgeNodeDnsCoordinator,\n Dns01CertificateProvisioner,\n SimpleEdgeNodeTunnelManager,\n NoopEdgeNodeTunnelManager,\n FrpTunnelManager,\n EdgeNodeHealthProbeService,\n EdgeNodeAgent,\n EdgeNodeCertificateService,\n AcmeCertificateManager,\n EdgeNodeModeDetector,\n ClusterIdentifierStrategy,\n UsageTrackingStore,\n CenterNodeRegistrationService,\n PodRoutingHttpHandler,\n ReactAppViewHandler,\n // Quint exports\n QuintStore,\n SqliteQuintStore,\n PgQuintStore,\n // RDF engine exports\n RdfTermDictionary,\n RdfQuadIndex,\n Rdf3xIndex,\n RdfSparqlAdapter,\n ShadowRdfQuintStore,\n SolidRdfEngine,\n PostgresRdfEngine,\n SolidRdfSparqlEngine,\n // Vector exports\n VectorStore,\n SqliteVectorStore,\n PostgresVectorStore,\n VectorHttpHandler,\n // Embedding exports\n ProviderRegistry,\n ProviderRegistryImpl,\n EmbeddingService,\n EmbeddingServiceImpl,\n CredentialReader,\n CredentialReaderImpl,\n // Tunnel and Subdomain exports\n CloudflareTunnelProvider,\n LocalTunnelProvider,\n SubdomainService,\n // IdP/SP separation exports\n MultiDomainIdentifierStrategy,\n SubdomainPodIdentifierStrategy,\n DisabledOidcHandler,\n DisabledIdentityProviderHandler,\n AutoDetectOidcHandler,\n AutoDetectIdentityProviderHandler,\n LoopbackClientIdAdapterFactory,\n ScopedPickWebIdHandler,\n UrlAwareRedisLocker,\n // Provision exports\n ProvisionPodCreator,\n ProvisionCodeCodec,\n LocalPodProvisioningService,\n};\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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","sourcesContent":["import './runtime/configure-drizzle-solid';\nimport { RepresentationPartialConvertingStore } from './storage/RepresentationPartialConvertingStore';\nimport { MinioDataAccessor } from './storage/accessors/MinioDataAccessor';\nimport { QuadstoreSparqlDataAccessor } from './storage/accessors/QuadstoreSparqlDataAccessor';\nimport { QuintStoreSparqlDataAccessor } from './storage/accessors/QuintStoreSparqlDataAccessor';\nimport { SolidRdfDataAccessor } from './storage/accessors/SolidRdfDataAccessor';\nimport { MixDataAccessor } from './storage/accessors/MixDataAccessor';\nimport { ConfigurableLoggerFactory } from './logging/ConfigurableLoggerFactory';\nimport { SubgraphQueryEngine } from './storage/sparql/SubgraphQueryEngine';\nimport { QuadstoreSparqlEngine, QuintstoreSparqlEngine } from './storage/sparql/CompatibilitySparqlEngine';\nexport type { SparqlEngine } from './storage/sparql/SubgraphQueryEngine';\nexport type {\n RdfEngineLike,\n RdfEngineStorageStats,\n RdfDerivedIndexRefreshResult,\n RdfIndexStats,\n RdfIndexSpaceObject,\n RdfIndexMetrics,\n RdfIndexPutOptions,\n RdfPatternQuery,\n RdfQuadIndexOptions,\n RdfQuadIndexScanResult,\n RdfShadowBackfillOptions,\n RdfShadowBackfillResult,\n RdfShadowDiff,\n RdfShadowScanResult,\n RdfSourceInput,\n} from './storage/rdf/types';\nexport type { RdfSparqlCompileResult } from './storage/rdf/RdfSparqlAdapter';\nexport type { ShadowRdfQuintStoreOptions } from './storage/rdf/ShadowRdfQuintStore';\nexport type {\n SolidRdfSparqlEngineOptions,\n SolidRdfSparqlFallback,\n} from './storage/rdf/SolidRdfSparqlEngine';\nexport type { PostgresRdfEngineOptions } from './storage/rdf/PostgresRdfEngine';\nimport { SubgraphSparqlHttpHandler } from './http/SubgraphSparqlHttpHandler';\nimport { QuotaAdminHttpHandler } from './http/quota/QuotaAdminHttpHandler';\nimport { SparqlUpdateResourceStore } from './storage/SparqlUpdateResourceStore';\nimport { ClusterIngressRouter } from './http/ClusterIngressRouter';\nimport { ClusterWebSocketConfigurator } from './http/ClusterWebSocketConfigurator';\nimport { EdgeNodeDirectDebugHttpHandler } from './http/EdgeNodeDirectDebugHttpHandler';\nimport { EdgeNodeProxyHttpHandler } from './http/EdgeNodeProxyHttpHandler';\nimport { RouterHttpHandler } from './http/RouterHttpHandler';\nimport { RouterHttpRoute } from './http/RouterHttpRoute';\nimport { TracingHandler } from './http/TracingHandler';\nimport { TerminalHttpHandler } from './http/terminal/TerminalHttpHandler';\nimport { EdgeNodeCertificateHttpHandler } from './http/admin/EdgeNodeCertificateHttpHandler';\nimport { ReservedSuffixIdentifierGenerator } from './pods/ReservedSuffixIdentifierGenerator';\nimport { DrizzleIndexedStorage } from './identity/drizzle/DrizzleIndexedStorage';\nimport { ValidatingIdentityProviderHttpHandler } from './identity/ValidatingIdentityProviderHttpHandler';\nimport { PostgresKeyValueStorage } from './storage/keyvalue/PostgresKeyValueStorage';\nimport { RedisKeyValueStorage } from './storage/keyvalue/RedisKeyValueStorage';\nimport { SqliteKeyValueStorage } from './storage/keyvalue/SqliteKeyValueStorage';\nimport { BaseKeyValueStorage } from './storage/keyvalue/BaseKeyValueStorage';\nimport { DrizzleQuotaService } from './quota/DrizzleQuotaService';\nimport { NoopQuotaService } from './quota/NoopQuotaService';\nimport { HttpEntitlementProvider, NoopEntitlementProvider } from './quota/EntitlementProvider';\nimport { PerAccountQuotaStrategy } from './storage/quota/PerAccountQuotaStrategy';\nimport { TencentDnsProvider } from './dns/tencent/TencentDnsProvider';\nimport { EdgeNodeDnsCoordinator } from './edge/EdgeNodeDnsCoordinator';\nimport { Dns01CertificateProvisioner } from './edge/Dns01CertificateProvisioner';\nimport { SimpleEdgeNodeTunnelManager, NoopEdgeNodeTunnelManager } from './edge/EdgeNodeTunnelManager';\nimport { FrpTunnelManager } from './edge/FrpTunnelManager';\nimport { AcmeCertificateManager } from './edge/acme/AcmeCertificateManager';\nimport { EdgeNodeHealthProbeService } from './edge/EdgeNodeHealthProbeService';\nimport { EdgeNodeAgent } from './edge/EdgeNodeAgent';\nimport { EdgeNodeCertificateService } from './service/EdgeNodeCertificateService';\nimport { createBandwidthThrottleTransform } from './util/stream/BandwidthThrottleTransform';\nimport { UsageTrackingStore } from './storage/quota/UsageTrackingStore';\nimport { EdgeNodeModeDetector } from './edge/EdgeNodeModeDetector';\nimport { ClusterIdentifierStrategy } from './util/identifiers/ClusterIdentifierStrategy';\nimport { CenterNodeRegistrationService } from './identity/CenterNodeRegistrationService';\nimport { PodRoutingHttpHandler } from './http/PodRoutingHttpHandler';\nimport { ReactAppViewHandler } from './identity/ReactAppViewHandler';\nimport { SqliteQuintStore } from './storage/quint/SqliteQuintStore';\nimport { PgQuintStore } from './storage/quint/PgQuintStore';\nimport { QuintStore } from './storage/quint/types';\nimport { RdfQuadIndex } from './storage/rdf/RdfQuadIndex';\nimport { Rdf3xIndex } from './storage/rdf/Rdf3xIndex';\nimport { RdfSparqlAdapter } from './storage/rdf/RdfSparqlAdapter';\nimport { RdfTermDictionary } from './storage/rdf/RdfTermDictionary';\nimport { ShadowRdfQuintStore } from './storage/rdf/ShadowRdfQuintStore';\nimport { SolidRdfEngine } from './storage/rdf/SolidRdfEngine';\nimport { PostgresRdfEngine } from './storage/rdf/PostgresRdfEngine';\nimport { SolidRdfSparqlEngine } from './storage/rdf/SolidRdfSparqlEngine';\nimport type { EdgeNodeCertificateProvisioner } from './edge/EdgeNodeCertificateProvisioner';\n// Vector components\nimport { SqliteVectorStore, PostgresVectorStore } from './storage/vector/index';\nimport { VectorHttpHandler } from './http/vector/VectorHttpHandler';\nimport { ProviderRegistry } from './ai/service/ProviderRegistry';\nimport { ProviderRegistryImpl } from './ai/service/ProviderRegistryImpl';\nimport { EmbeddingService } from './ai/service/EmbeddingService';\nimport { EmbeddingServiceImpl } from './ai/service/EmbeddingServiceImpl';\nimport { CredentialReader } from './ai/service/CredentialReader';\nimport { CredentialReaderImpl } from './ai/service/CredentialReaderImpl';\nimport { VectorStore } from './storage/vector/VectorStore';\n// Tunnel and Subdomain components\nimport { CloudflareTunnelProvider } from './tunnel/CloudflareTunnelProvider';\nimport { LocalTunnelProvider } from './tunnel/LocalTunnelProvider';\nimport { SubdomainService } from './subdomain/SubdomainService';\nimport { UrlAwareRedisLocker } from './storage/locking/UrlAwareRedisLocker';\n// IdP/SP separation components\nimport { MultiDomainIdentifierStrategy } from './util/identifiers/MultiDomainIdentifierStrategy';\nimport { SubdomainPodIdentifierStrategy } from './util/identifiers/SubdomainPodIdentifierStrategy';\nimport { DisabledOidcHandler } from './identity/oidc/DisabledOidcHandler';\nimport { DisabledIdentityProviderHandler } from './identity/oidc/DisabledIdentityProviderHandler';\nimport { AutoDetectOidcHandler } from './identity/oidc/AutoDetectOidcHandler';\nimport { AutoDetectIdentityProviderHandler } from './identity/oidc/AutoDetectIdentityProviderHandler';\nimport { LoopbackClientIdAdapterFactory } from './identity/oidc/LoopbackClientIdAdapterFactory';\nimport { ScopedPickWebIdHandler } from './identity/oidc/ScopedPickWebIdHandler';\n// Provision components\nimport { ProvisionPodCreator } from './provision/ProvisionPodCreator';\nimport { ProvisionCodeCodec } from './provision/ProvisionCodeCodec';\nimport { LocalPodProvisioningService } from './provision/LocalPodProvisioningService';\n\nexport * from './api/reconciler';\n\nexport type {\n DnsProvider,\n ListDnsRecordsInput,\n ListableDnsProvider,\n DeleteDnsRecordInput,\n DnsRecordSummary,\n UpsertDnsRecordInput,\n} from './dns/DnsProvider';\nexport type { EdgeNodeCertificateProvisioner } from './edge/EdgeNodeCertificateProvisioner';\nexport type { EdgeNodeTunnelManager } from './edge/interfaces/EdgeNodeTunnelManager';\nexport type { QuotaService, AccountQuota } from './quota/QuotaService';\nexport type { EntitlementProvider, AccountEntitlement } from './quota/EntitlementProvider';\n// Tunnel and Subdomain types\nexport type {\n TunnelProvider,\n TunnelConfig,\n TunnelSetupOptions,\n TunnelStatus,\n} from './tunnel/TunnelProvider';\nexport type {\n SubdomainRegistration,\n ConnectivityResult,\n SubdomainServiceOptions,\n} from './subdomain/SubdomainService';\n// Export the new AppStaticAssetHandler\nexport { AppStaticAssetHandler } from './http/AppStaticAssetHandler';\n\nexport {\n RepresentationPartialConvertingStore,\n MinioDataAccessor,\n QuadstoreSparqlDataAccessor,\n QuintStoreSparqlDataAccessor,\n SolidRdfDataAccessor,\n MixDataAccessor,\n ConfigurableLoggerFactory,\n SparqlUpdateResourceStore,\n SubgraphQueryEngine,\n QuadstoreSparqlEngine,\n QuintstoreSparqlEngine,\n SubgraphSparqlHttpHandler,\n QuotaAdminHttpHandler,\n ClusterIngressRouter,\n ClusterWebSocketConfigurator,\n EdgeNodeDirectDebugHttpHandler,\n EdgeNodeProxyHttpHandler,\n RouterHttpHandler,\n RouterHttpRoute,\n TracingHandler,\n EdgeNodeCertificateHttpHandler,\n TerminalHttpHandler,\n ReservedSuffixIdentifierGenerator,\n DrizzleIndexedStorage,\n ValidatingIdentityProviderHttpHandler,\n PostgresKeyValueStorage,\n RedisKeyValueStorage,\n SqliteKeyValueStorage,\n BaseKeyValueStorage,\n DrizzleQuotaService,\n NoopQuotaService,\n HttpEntitlementProvider,\n NoopEntitlementProvider,\n PerAccountQuotaStrategy,\n TencentDnsProvider,\n EdgeNodeDnsCoordinator,\n Dns01CertificateProvisioner,\n SimpleEdgeNodeTunnelManager,\n NoopEdgeNodeTunnelManager,\n FrpTunnelManager,\n EdgeNodeHealthProbeService,\n EdgeNodeAgent,\n EdgeNodeCertificateService,\n AcmeCertificateManager,\n EdgeNodeModeDetector,\n ClusterIdentifierStrategy,\n UsageTrackingStore,\n CenterNodeRegistrationService,\n PodRoutingHttpHandler,\n ReactAppViewHandler,\n // Quint exports\n QuintStore,\n SqliteQuintStore,\n PgQuintStore,\n // RDF engine exports\n RdfTermDictionary,\n RdfQuadIndex,\n Rdf3xIndex,\n RdfSparqlAdapter,\n ShadowRdfQuintStore,\n SolidRdfEngine,\n PostgresRdfEngine,\n SolidRdfSparqlEngine,\n // Vector exports\n VectorStore,\n SqliteVectorStore,\n PostgresVectorStore,\n VectorHttpHandler,\n // Embedding exports\n ProviderRegistry,\n ProviderRegistryImpl,\n EmbeddingService,\n EmbeddingServiceImpl,\n CredentialReader,\n CredentialReaderImpl,\n // Tunnel and Subdomain exports\n CloudflareTunnelProvider,\n LocalTunnelProvider,\n SubdomainService,\n // IdP/SP separation exports\n MultiDomainIdentifierStrategy,\n SubdomainPodIdentifierStrategy,\n DisabledOidcHandler,\n DisabledIdentityProviderHandler,\n AutoDetectOidcHandler,\n AutoDetectIdentityProviderHandler,\n LoopbackClientIdAdapterFactory,\n ScopedPickWebIdHandler,\n UrlAwareRedisLocker,\n // Provision exports\n ProvisionPodCreator,\n ProvisionCodeCodec,\n LocalPodProvisioningService,\n};\n"]}
@@ -35,4 +35,5 @@ export declare class LocalPodProvisioningService {
35
35
  private writeRdfIndex;
36
36
  private buildPodQuads;
37
37
  private writeIdentityIndexes;
38
+ private addPrivateTypeIndexQuads;
38
39
  }
@@ -171,6 +171,9 @@ class LocalPodProvisioningService {
171
171
  const root = this.baseUrl;
172
172
  const profileUrl = iri(podUrl, 'profile/');
173
173
  const cardUrl = iri(podUrl, 'profile/card');
174
+ const settingsUrl = iri(podUrl, 'settings/');
175
+ const privateTypeIndexUrl = iri(podUrl, '.settings/privateTypeIndex.ttl');
176
+ const privateTypeIndexGraph = namedNode(privateTypeIndexUrl);
174
177
  const authorizationResources = (0, PodAuthorizationResources_1.buildPodAuthorizationResources)({
175
178
  authMode: this.authMode,
176
179
  podUrl,
@@ -212,6 +215,7 @@ class LocalPodProvisioningService {
212
215
  out.push(quad(namedNode(root), namedNode(`${LDP}contains`), namedNode(podUrl), rootGraph));
213
216
  out.push(quad(namedNode(podUrl), namedNode(`${LDP}contains`), namedNode(authorizationResources.rootResourceUrl), podGraph));
214
217
  out.push(quad(namedNode(podUrl), namedNode(`${LDP}contains`), namedNode(profileUrl), podGraph));
218
+ out.push(quad(namedNode(podUrl), namedNode(`${LDP}contains`), namedNode(settingsUrl), podGraph));
215
219
  out.push(quad(namedNode(profileUrl), namedNode(`${LDP}contains`), namedNode(authorizationResources.profileResourceUrl), profileGraph));
216
220
  out.push(quad(namedNode(profileUrl), namedNode(`${LDP}contains`), namedNode(cardUrl), profileGraph));
217
221
  out.push(quad(namedNode(profileUrl), namedNode(`${LDP}contains`), namedNode(authorizationResources.cardResourceUrl), profileGraph));
@@ -228,6 +232,8 @@ class LocalPodProvisioningService {
228
232
  out.push(quad(namedNode(webId), namedNode(`${RDF}type`), namedNode(`${FOAF}Person`), cardGraph));
229
233
  out.push(quad(namedNode(webId), namedNode(`${SOLID}oidcIssuer`), namedNode(oidcIssuer), cardGraph));
230
234
  out.push(quad(namedNode(webId), namedNode(`${SOLID}storage`), namedNode(podUrl), cardGraph));
235
+ out.push(quad(namedNode(webId), namedNode(`${SOLID}privateTypeIndex`), namedNode(privateTypeIndexUrl), cardGraph));
236
+ this.addPrivateTypeIndexQuads(out, privateTypeIndexGraph, privateTypeIndexUrl);
231
237
  out.push(...authorizationResources.quads);
232
238
  return out;
233
239
  }
@@ -284,6 +290,9 @@ class LocalPodProvisioningService {
284
290
  db.close();
285
291
  }
286
292
  }
293
+ addPrivateTypeIndexQuads(out, graph, typeIndexUrl) {
294
+ out.push(quad(namedNode(typeIndexUrl), namedNode(`${RDF}type`), namedNode(`${SOLID}TypeIndex`), graph));
295
+ }
287
296
  }
288
297
  exports.LocalPodProvisioningService = LocalPodProvisioningService;
289
298
  //# sourceMappingURL=LocalPodProvisioningService.js.map