@undefineds.co/linx 0.2.1

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 (100) hide show
  1. package/README.md +91 -0
  2. package/dist/index.js +578 -0
  3. package/dist/index.js.map +1 -0
  4. package/dist/lib/account-api.js +100 -0
  5. package/dist/lib/account-api.js.map +1 -0
  6. package/dist/lib/account-session.js +30 -0
  7. package/dist/lib/account-session.js.map +1 -0
  8. package/dist/lib/ai-command.js +411 -0
  9. package/dist/lib/ai-command.js.map +1 -0
  10. package/dist/lib/chat-api.js +122 -0
  11. package/dist/lib/chat-api.js.map +1 -0
  12. package/dist/lib/codex-plugin/bridge.js +109 -0
  13. package/dist/lib/codex-plugin/bridge.js.map +1 -0
  14. package/dist/lib/codex-plugin/codex-native-proxy.js +358 -0
  15. package/dist/lib/codex-plugin/codex-native-proxy.js.map +1 -0
  16. package/dist/lib/codex-plugin/index.js +4 -0
  17. package/dist/lib/codex-plugin/index.js.map +1 -0
  18. package/dist/lib/codex-plugin/runner.js +38 -0
  19. package/dist/lib/codex-plugin/runner.js.map +1 -0
  20. package/dist/lib/credentials-store.js +74 -0
  21. package/dist/lib/credentials-store.js.map +1 -0
  22. package/dist/lib/default-model.js +8 -0
  23. package/dist/lib/default-model.js.map +1 -0
  24. package/dist/lib/login-command.js +51 -0
  25. package/dist/lib/login-command.js.map +1 -0
  26. package/dist/lib/models.js +6 -0
  27. package/dist/lib/models.js.map +1 -0
  28. package/dist/lib/oidc-auth.js +451 -0
  29. package/dist/lib/oidc-auth.js.map +1 -0
  30. package/dist/lib/oidc-session-storage.js +37 -0
  31. package/dist/lib/oidc-session-storage.js.map +1 -0
  32. package/dist/lib/pi-adapter/auth.js +38 -0
  33. package/dist/lib/pi-adapter/auth.js.map +1 -0
  34. package/dist/lib/pi-adapter/branding.js +239 -0
  35. package/dist/lib/pi-adapter/branding.js.map +1 -0
  36. package/dist/lib/pi-adapter/index.js +4 -0
  37. package/dist/lib/pi-adapter/index.js.map +1 -0
  38. package/dist/lib/pi-adapter/interactive.js +63 -0
  39. package/dist/lib/pi-adapter/interactive.js.map +1 -0
  40. package/dist/lib/pi-adapter/runtime.js +271 -0
  41. package/dist/lib/pi-adapter/runtime.js.map +1 -0
  42. package/dist/lib/pi-adapter/stream.js +314 -0
  43. package/dist/lib/pi-adapter/stream.js.map +1 -0
  44. package/dist/lib/pi-adapter/theme.js +84 -0
  45. package/dist/lib/pi-adapter/theme.js.map +1 -0
  46. package/dist/lib/pod-chat-store.js +200 -0
  47. package/dist/lib/pod-chat-store.js.map +1 -0
  48. package/dist/lib/profile-identity.js +116 -0
  49. package/dist/lib/profile-identity.js.map +1 -0
  50. package/dist/lib/prompt.js +82 -0
  51. package/dist/lib/prompt.js.map +1 -0
  52. package/dist/lib/runtime-target.js +12 -0
  53. package/dist/lib/runtime-target.js.map +1 -0
  54. package/dist/lib/solid-auth.js +55 -0
  55. package/dist/lib/solid-auth.js.map +1 -0
  56. package/dist/lib/thread-utils.js +12 -0
  57. package/dist/lib/thread-utils.js.map +1 -0
  58. package/dist/lib/watch/archive.js +110 -0
  59. package/dist/lib/watch/archive.js.map +1 -0
  60. package/dist/lib/watch/auth.js +56 -0
  61. package/dist/lib/watch/auth.js.map +1 -0
  62. package/dist/lib/watch/codex-composer.js +219 -0
  63. package/dist/lib/watch/codex-composer.js.map +1 -0
  64. package/dist/lib/watch/codex-footer.js +88 -0
  65. package/dist/lib/watch/codex-footer.js.map +1 -0
  66. package/dist/lib/watch/codex-overlay.js +154 -0
  67. package/dist/lib/watch/codex-overlay.js.map +1 -0
  68. package/dist/lib/watch/codex-request-form.js +341 -0
  69. package/dist/lib/watch/codex-request-form.js.map +1 -0
  70. package/dist/lib/watch/codex-request-input.js +187 -0
  71. package/dist/lib/watch/codex-request-input.js.map +1 -0
  72. package/dist/lib/watch/display.js +1514 -0
  73. package/dist/lib/watch/display.js.map +1 -0
  74. package/dist/lib/watch/format.js +161 -0
  75. package/dist/lib/watch/format.js.map +1 -0
  76. package/dist/lib/watch/hooks/claude.js +12 -0
  77. package/dist/lib/watch/hooks/claude.js.map +1 -0
  78. package/dist/lib/watch/hooks/codebuddy.js +18 -0
  79. package/dist/lib/watch/hooks/codebuddy.js.map +1 -0
  80. package/dist/lib/watch/hooks/codex.js +13 -0
  81. package/dist/lib/watch/hooks/codex.js.map +1 -0
  82. package/dist/lib/watch/hooks/index.js +24 -0
  83. package/dist/lib/watch/hooks/index.js.map +1 -0
  84. package/dist/lib/watch/hooks/shared.js +19 -0
  85. package/dist/lib/watch/hooks/shared.js.map +1 -0
  86. package/dist/lib/watch/index.js +10 -0
  87. package/dist/lib/watch/index.js.map +1 -0
  88. package/dist/lib/watch/pod-ai.js +168 -0
  89. package/dist/lib/watch/pod-ai.js.map +1 -0
  90. package/dist/lib/watch/pod-approval.js +578 -0
  91. package/dist/lib/watch/pod-approval.js.map +1 -0
  92. package/dist/lib/watch/pod-persistence.js +226 -0
  93. package/dist/lib/watch/pod-persistence.js.map +1 -0
  94. package/dist/lib/watch/runner.js +1124 -0
  95. package/dist/lib/watch/runner.js.map +1 -0
  96. package/dist/lib/watch/types.js +2 -0
  97. package/dist/lib/watch/types.js.map +1 -0
  98. package/dist/watch-cli.js +142 -0
  99. package/dist/watch-cli.js.map +1 -0
  100. package/package.json +38 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,100 @@
1
+ import { parseLinxAccountData, parseLinxClientCredential, resolveLinxCloudAccountBaseUrl, } from '@undefineds.co/models/client';
2
+ export function resolveAccountBaseUrl(url) {
3
+ return resolveLinxCloudAccountBaseUrl(url || process.env.CSS_BASE_URL);
4
+ }
5
+ export async function checkServer(baseUrl) {
6
+ try {
7
+ const res = await fetch(`${resolveAccountBaseUrl(baseUrl)}.account/`, {
8
+ headers: { Accept: 'application/json' },
9
+ });
10
+ return res.ok;
11
+ }
12
+ catch {
13
+ return false;
14
+ }
15
+ }
16
+ export async function login(email, password, baseUrl) {
17
+ try {
18
+ const res = await fetch(`${resolveAccountBaseUrl(baseUrl)}.account/login/password/`, {
19
+ method: 'POST',
20
+ headers: {
21
+ 'Content-Type': 'application/json',
22
+ Accept: 'application/json',
23
+ },
24
+ body: JSON.stringify({ email, password }),
25
+ });
26
+ if (!res.ok) {
27
+ return null;
28
+ }
29
+ const data = (await res.json());
30
+ return data.authorization ?? null;
31
+ }
32
+ catch {
33
+ return null;
34
+ }
35
+ }
36
+ export async function getAccountData(token, baseUrl) {
37
+ try {
38
+ const res = await fetch(`${resolveAccountBaseUrl(baseUrl)}.account/`, {
39
+ headers: {
40
+ Accept: 'application/json',
41
+ Authorization: `CSS-Account-Token ${token}`,
42
+ },
43
+ });
44
+ if (!res.ok) {
45
+ return null;
46
+ }
47
+ return parseLinxAccountData(await res.json());
48
+ }
49
+ catch {
50
+ return null;
51
+ }
52
+ }
53
+ export async function createClientCredentials(token, credentialsUrl, webId, name) {
54
+ try {
55
+ const res = await fetch(credentialsUrl, {
56
+ method: 'POST',
57
+ headers: {
58
+ 'Content-Type': 'application/json',
59
+ Accept: 'application/json',
60
+ Authorization: `CSS-Account-Token ${token}`,
61
+ },
62
+ body: JSON.stringify({
63
+ name: name ?? `linx-cli-${Date.now()}`,
64
+ webId,
65
+ }),
66
+ });
67
+ if (!res.ok) {
68
+ return null;
69
+ }
70
+ return parseLinxClientCredential(await res.json());
71
+ }
72
+ catch {
73
+ return null;
74
+ }
75
+ }
76
+ export async function listClientCredentials(token, baseUrl) {
77
+ const account = await getAccountData(token, baseUrl);
78
+ if (!account) {
79
+ return [];
80
+ }
81
+ return Object.entries(account.clientCredentials).map(([url, webId]) => ({
82
+ id: url.split('/').filter(Boolean).pop() ?? url,
83
+ webId: typeof webId === 'string' ? webId : undefined,
84
+ }));
85
+ }
86
+ export async function revokeClientCredential(token, credentialId, baseUrl) {
87
+ try {
88
+ const res = await fetch(`${resolveAccountBaseUrl(baseUrl)}.account/client-credentials/${credentialId}/`, {
89
+ method: 'DELETE',
90
+ headers: {
91
+ Authorization: `CSS-Account-Token ${token}`,
92
+ },
93
+ });
94
+ return res.ok;
95
+ }
96
+ catch {
97
+ return false;
98
+ }
99
+ }
100
+ //# sourceMappingURL=account-api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"account-api.js","sourceRoot":"","sources":["../../src/lib/account-api.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ import { chmodSync, existsSync, mkdirSync, readFileSync, unlinkSync, writeFileSync } from 'node:fs';
2
+ import { homedir } from 'node:os';
3
+ import { join } from 'node:path';
4
+ import { LINX_ACCOUNT_SESSION_FILE_NAME, LINX_HOME_DIRNAME, parseAccountSession, } from '@undefineds.co/models/client';
5
+ function linxDir() {
6
+ return join(homedir(), LINX_HOME_DIRNAME);
7
+ }
8
+ export function getAccountSessionPath() {
9
+ return join(linxDir(), LINX_ACCOUNT_SESSION_FILE_NAME);
10
+ }
11
+ export function saveAccountSession(session) {
12
+ mkdirSync(linxDir(), { recursive: true });
13
+ writeFileSync(getAccountSessionPath(), `${JSON.stringify(session, null, 2)}\n`, 'utf-8');
14
+ chmodSync(getAccountSessionPath(), 0o600);
15
+ }
16
+ export function loadAccountSession() {
17
+ try {
18
+ return parseAccountSession(JSON.parse(readFileSync(getAccountSessionPath(), 'utf-8')));
19
+ }
20
+ catch {
21
+ return null;
22
+ }
23
+ }
24
+ export function clearAccountSession() {
25
+ const path = getAccountSessionPath();
26
+ if (existsSync(path)) {
27
+ unlinkSync(path);
28
+ }
29
+ }
30
+ //# sourceMappingURL=account-session.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"account-session.js","sourceRoot":"","sources":["../../src/lib/account-session.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AACnG,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EACL,8BAA8B,EAC9B,iBAAiB,EACjB,mBAAmB,GAEpB,MAAM,8BAA8B,CAAA;AAIrC,SAAS,OAAO;IACd,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,iBAAiB,CAAC,CAAA;AAC3C,CAAC;AAED,MAAM,UAAU,qBAAqB;IACnC,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,8BAA8B,CAAC,CAAA;AACxD,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,OAA6B;IAC9D,SAAS,CAAC,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IACzC,aAAa,CAAC,qBAAqB,EAAE,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IACxF,SAAS,CAAC,qBAAqB,EAAE,EAAE,KAAK,CAAC,CAAA;AAC3C,CAAC;AAED,MAAM,UAAU,kBAAkB;IAChC,IAAI,CAAC;QACH,OAAO,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,qBAAqB,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,CAAA;IACxF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC;AAED,MAAM,UAAU,mBAAmB;IACjC,MAAM,IAAI,GAAG,qBAAqB,EAAE,CAAA;IACpC,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACrB,UAAU,CAAC,IAAI,CAAC,CAAA;IAClB,CAAC;AACH,CAAC"}
@@ -0,0 +1,411 @@
1
+ import { resolveLinxPodUrl } from '@undefineds.co/models/client';
2
+ import { aiConfigProviderUri, buildAIConfigMutationPlan, buildAIConfigProviderStateMap, getAIConfigProviderFamilyIds, getAIConfigProviderMetadata, normalizeAIConfigProviderId, normalizeAIConfigResourceId, sameAIConfigProviderFamily, } from '@undefineds.co/models/ai-config';
3
+ import { XPOD_AI, XPOD_CREDENTIAL } from '@undefineds.co/models/namespaces';
4
+ import { getClientCredentials, loadCredentials } from './credentials-store.js';
5
+ import { loadAccountSession } from './account-session.js';
6
+ import { authenticatedFetch, getAccessToken } from './solid-auth.js';
7
+ import { promptPassword } from './prompt.js';
8
+ const XSD_DATE_TIME = 'http://www.w3.org/2001/XMLSchema#dateTime';
9
+ let aiRuntimePromise = null;
10
+ async function loadAiRuntime() {
11
+ if (!aiRuntimePromise) {
12
+ aiRuntimePromise = Promise.resolve({
13
+ XPOD_AI,
14
+ XPOD_CREDENTIAL,
15
+ aiConfigProviderUri,
16
+ buildAIConfigMutationPlan,
17
+ buildAIConfigProviderStateMap,
18
+ getAIConfigProviderFamilyIds,
19
+ getAIConfigProviderMetadata,
20
+ normalizeAIConfigProviderId,
21
+ normalizeAIConfigResourceId,
22
+ sameAIConfigProviderFamily,
23
+ });
24
+ }
25
+ return aiRuntimePromise;
26
+ }
27
+ function maskSecret(value) {
28
+ if (value.length <= 8)
29
+ return '****';
30
+ return `${value.slice(0, 4)}****${value.slice(-4)}`;
31
+ }
32
+ function absolutePodUri(podUrl, relativePath) {
33
+ return `${podUrl.replace(/\/?$/, '/')}${relativePath.replace(/^\/+/, '')}`;
34
+ }
35
+ function escapeRegex(value) {
36
+ return value.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
37
+ }
38
+ function quoteLiteral(value) {
39
+ return `"${value.replace(/\\/g, '\\\\').replace(/"/g, '\\"').replace(/\n/g, '\\n')}"`;
40
+ }
41
+ function dateTimeLiteral(value) {
42
+ return `"${value.toISOString()}"^^<${XSD_DATE_TIME}>`;
43
+ }
44
+ function splitResourceBlocks(turtle, resourceUrl) {
45
+ if (!turtle.trim())
46
+ return [];
47
+ const pattern = new RegExp(`(?=<${escapeRegex(resourceUrl)}#)`);
48
+ return turtle
49
+ .split(pattern)
50
+ .map((block) => block.trim())
51
+ .filter(Boolean);
52
+ }
53
+ function matchLiteral(block, predicateUri) {
54
+ const match = block.match(new RegExp(`<${escapeRegex(predicateUri)}>\\s+"([^"]*)"(?:\\^\\^<[^>]+>)?`));
55
+ return match?.[1];
56
+ }
57
+ function matchIri(block, predicateUri) {
58
+ const match = block.match(new RegExp(`<${escapeRegex(predicateUri)}>\\s+<([^>]+)>`));
59
+ return match?.[1];
60
+ }
61
+ function parseCredentialRows(turtle, resourceUrl, runtime) {
62
+ return splitResourceBlocks(turtle, resourceUrl)
63
+ .map((block) => {
64
+ const subject = block.match(new RegExp(`^<${escapeRegex(resourceUrl)}#([^>]+)>`));
65
+ if (!subject?.[1])
66
+ return null;
67
+ return {
68
+ id: subject[1],
69
+ provider: matchIri(block, runtime.XPOD_CREDENTIAL.provider),
70
+ service: matchLiteral(block, runtime.XPOD_CREDENTIAL.service),
71
+ status: matchLiteral(block, runtime.XPOD_CREDENTIAL.status),
72
+ apiKey: matchLiteral(block, runtime.XPOD_CREDENTIAL.apiKey),
73
+ baseUrl: matchLiteral(block, runtime.XPOD_CREDENTIAL.baseUrl),
74
+ label: matchLiteral(block, runtime.XPOD_CREDENTIAL.label),
75
+ };
76
+ })
77
+ .filter(Boolean);
78
+ }
79
+ function parseProviderRows(turtle, resourceUrl, runtime) {
80
+ return splitResourceBlocks(turtle, resourceUrl)
81
+ .map((block) => {
82
+ const subject = block.match(new RegExp(`^<${escapeRegex(resourceUrl)}#([^>]+)>`));
83
+ if (!subject?.[1])
84
+ return null;
85
+ return {
86
+ id: subject[1],
87
+ baseUrl: matchLiteral(block, runtime.XPOD_AI.baseUrl),
88
+ proxyUrl: matchLiteral(block, runtime.XPOD_AI.proxyUrl),
89
+ hasModel: matchIri(block, runtime.XPOD_AI.hasModel),
90
+ };
91
+ })
92
+ .filter(Boolean);
93
+ }
94
+ function parseModelRows(turtle, resourceUrl, runtime) {
95
+ return splitResourceBlocks(turtle, resourceUrl)
96
+ .map((block) => {
97
+ const subject = block.match(new RegExp(`^<${escapeRegex(resourceUrl)}#([^>]+)>`));
98
+ if (!subject?.[1])
99
+ return null;
100
+ return {
101
+ id: subject[1],
102
+ displayName: matchLiteral(block, runtime.XPOD_AI.displayName),
103
+ modelType: matchLiteral(block, runtime.XPOD_AI.modelType),
104
+ isProvidedBy: matchIri(block, runtime.XPOD_AI.isProvidedBy),
105
+ status: matchLiteral(block, runtime.XPOD_AI.status),
106
+ };
107
+ })
108
+ .filter(Boolean);
109
+ }
110
+ async function requireApiKey(argv) {
111
+ if (argv['api-key']?.trim()) {
112
+ return argv['api-key'].trim();
113
+ }
114
+ const apiKey = await promptPassword('API key: ');
115
+ if (!apiKey) {
116
+ throw new Error('API key is required');
117
+ }
118
+ return apiKey;
119
+ }
120
+ async function resolvePodWriteContext(urlOverride) {
121
+ const creds = loadCredentials();
122
+ if (!creds) {
123
+ throw new Error('No local client credentials found. Run `linx login` first.');
124
+ }
125
+ const clientCreds = getClientCredentials(creds);
126
+ if (!clientCreds) {
127
+ throw new Error('Only client credentials auth is supported for `linx ai connect`.');
128
+ }
129
+ const baseUrl = (urlOverride ?? creds.url).replace(/\/?$/, '/');
130
+ const tokenResult = await getAccessToken(clientCreds.clientId, clientCreds.clientSecret, baseUrl);
131
+ if (!tokenResult) {
132
+ throw new Error('Failed to obtain Pod access token. Run `linx login` again.');
133
+ }
134
+ return {
135
+ accessToken: tokenResult.accessToken,
136
+ podUrl: loadAccountSession()?.podUrl || resolveLinxPodUrl(creds.webId),
137
+ };
138
+ }
139
+ async function patchResource(resourceUrl, accessToken, body) {
140
+ const res = await authenticatedFetch(resourceUrl, accessToken, {
141
+ method: 'PATCH',
142
+ headers: { 'Content-Type': 'application/sparql-update' },
143
+ body,
144
+ });
145
+ if (!res.ok) {
146
+ throw new Error(`Failed to update ${resourceUrl}.`);
147
+ }
148
+ }
149
+ async function fetchResourceText(resourceUrl, accessToken) {
150
+ const res = await authenticatedFetch(resourceUrl, accessToken, {
151
+ headers: { Accept: 'text/turtle' },
152
+ });
153
+ if (res.status === 404) {
154
+ return '';
155
+ }
156
+ if (!res.ok) {
157
+ throw new Error(`Failed to read ${resourceUrl}.`);
158
+ }
159
+ return res.text();
160
+ }
161
+ function buildProviderSparql(runtime, resourceUrl, podUrl, payload) {
162
+ const subject = `<${resourceUrl}#${payload.id}>`;
163
+ const deletes = [
164
+ `OPTIONAL { ${subject} <${runtime.XPOD_AI.baseUrl}> ?oldBaseUrl }`,
165
+ `OPTIONAL { ${subject} <${runtime.XPOD_AI.proxyUrl}> ?oldProxyUrl }`,
166
+ `OPTIONAL { ${subject} <${runtime.XPOD_AI.hasModel}> ?oldHasModel }`,
167
+ ];
168
+ const inserts = [`${subject} a <${runtime.XPOD_AI.Provider}> .`];
169
+ if (payload.baseUrl) {
170
+ inserts.push(`${subject} <${runtime.XPOD_AI.baseUrl}> ${quoteLiteral(payload.baseUrl)} .`);
171
+ }
172
+ if (payload.proxyUrl) {
173
+ inserts.push(`${subject} <${runtime.XPOD_AI.proxyUrl}> ${quoteLiteral(payload.proxyUrl)} .`);
174
+ }
175
+ if (payload.hasModel) {
176
+ inserts.push(`${subject} <${runtime.XPOD_AI.hasModel}> <${absolutePodUri(podUrl, payload.hasModel)}> .`);
177
+ }
178
+ return `DELETE {
179
+ ${subject} <${runtime.XPOD_AI.baseUrl}> ?oldBaseUrl .
180
+ ${subject} <${runtime.XPOD_AI.proxyUrl}> ?oldProxyUrl .
181
+ ${subject} <${runtime.XPOD_AI.hasModel}> ?oldHasModel .
182
+ }
183
+ INSERT {
184
+ ${inserts.join('\n ')}
185
+ }
186
+ WHERE {
187
+ ${deletes.join('\n ')}
188
+ }`;
189
+ }
190
+ function buildCredentialSparql(runtime, resourceUrl, podUrl, payload) {
191
+ const subject = `<${resourceUrl}#${payload.id}>`;
192
+ const deletes = [
193
+ `OPTIONAL { ${subject} <${runtime.XPOD_CREDENTIAL.provider}> ?oldProvider }`,
194
+ `OPTIONAL { ${subject} <${runtime.XPOD_CREDENTIAL.service}> ?oldService }`,
195
+ `OPTIONAL { ${subject} <${runtime.XPOD_CREDENTIAL.status}> ?oldStatus }`,
196
+ `OPTIONAL { ${subject} <${runtime.XPOD_CREDENTIAL.apiKey}> ?oldApiKey }`,
197
+ `OPTIONAL { ${subject} <${runtime.XPOD_CREDENTIAL.baseUrl}> ?oldBaseUrl }`,
198
+ `OPTIONAL { ${subject} <${runtime.XPOD_CREDENTIAL.label}> ?oldLabel }`,
199
+ ];
200
+ const inserts = [
201
+ `${subject} a <${runtime.XPOD_CREDENTIAL.Credential}> .`,
202
+ `${subject} <${runtime.XPOD_CREDENTIAL.provider}> <${absolutePodUri(podUrl, payload.provider)}> .`,
203
+ `${subject} <${runtime.XPOD_CREDENTIAL.service}> ${quoteLiteral(payload.service)} .`,
204
+ `${subject} <${runtime.XPOD_CREDENTIAL.status}> ${quoteLiteral(payload.status)} .`,
205
+ ];
206
+ if (payload.apiKey) {
207
+ inserts.push(`${subject} <${runtime.XPOD_CREDENTIAL.apiKey}> ${quoteLiteral(payload.apiKey)} .`);
208
+ }
209
+ if (payload.baseUrl) {
210
+ inserts.push(`${subject} <${runtime.XPOD_CREDENTIAL.baseUrl}> ${quoteLiteral(payload.baseUrl)} .`);
211
+ }
212
+ if (payload.label) {
213
+ inserts.push(`${subject} <${runtime.XPOD_CREDENTIAL.label}> ${quoteLiteral(payload.label)} .`);
214
+ }
215
+ return `DELETE {
216
+ ${subject} <${runtime.XPOD_CREDENTIAL.provider}> ?oldProvider .
217
+ ${subject} <${runtime.XPOD_CREDENTIAL.service}> ?oldService .
218
+ ${subject} <${runtime.XPOD_CREDENTIAL.status}> ?oldStatus .
219
+ ${subject} <${runtime.XPOD_CREDENTIAL.apiKey}> ?oldApiKey .
220
+ ${subject} <${runtime.XPOD_CREDENTIAL.baseUrl}> ?oldBaseUrl .
221
+ ${subject} <${runtime.XPOD_CREDENTIAL.label}> ?oldLabel .
222
+ }
223
+ INSERT {
224
+ ${inserts.join('\n ')}
225
+ }
226
+ WHERE {
227
+ ${deletes.join('\n ')}
228
+ }`;
229
+ }
230
+ function buildModelSparql(runtime, resourceUrl, podUrl, payload) {
231
+ const subject = `<${resourceUrl}#${payload.id}>`;
232
+ const deletes = [
233
+ `OPTIONAL { ${subject} <${runtime.XPOD_AI.displayName}> ?oldDisplayName }`,
234
+ `OPTIONAL { ${subject} <${runtime.XPOD_AI.modelType}> ?oldModelType }`,
235
+ `OPTIONAL { ${subject} <${runtime.XPOD_AI.isProvidedBy}> ?oldIsProvidedBy }`,
236
+ `OPTIONAL { ${subject} <${runtime.XPOD_AI.status}> ?oldStatus }`,
237
+ `OPTIONAL { ${subject} <${runtime.XPOD_AI.createdAt}> ?oldCreatedAt }`,
238
+ `OPTIONAL { ${subject} <${runtime.XPOD_AI.updatedAt}> ?oldUpdatedAt }`,
239
+ ];
240
+ const inserts = [
241
+ `${subject} a <${runtime.XPOD_AI.Model}> .`,
242
+ `${subject} <${runtime.XPOD_AI.displayName}> ${quoteLiteral(payload.displayName || payload.id)} .`,
243
+ `${subject} <${runtime.XPOD_AI.modelType}> ${quoteLiteral(payload.modelType || 'chat')} .`,
244
+ `${subject} <${runtime.XPOD_AI.isProvidedBy}> <${absolutePodUri(podUrl, payload.isProvidedBy)}> .`,
245
+ `${subject} <${runtime.XPOD_AI.status}> ${quoteLiteral(payload.status || 'active')} .`,
246
+ `${subject} <${runtime.XPOD_AI.createdAt}> ${dateTimeLiteral(payload.createdAt)} .`,
247
+ `${subject} <${runtime.XPOD_AI.updatedAt}> ${dateTimeLiteral(payload.updatedAt)} .`,
248
+ ];
249
+ return `DELETE {
250
+ ${subject} <${runtime.XPOD_AI.displayName}> ?oldDisplayName .
251
+ ${subject} <${runtime.XPOD_AI.modelType}> ?oldModelType .
252
+ ${subject} <${runtime.XPOD_AI.isProvidedBy}> ?oldIsProvidedBy .
253
+ ${subject} <${runtime.XPOD_AI.status}> ?oldStatus .
254
+ ${subject} <${runtime.XPOD_AI.createdAt}> ?oldCreatedAt .
255
+ ${subject} <${runtime.XPOD_AI.updatedAt}> ?oldUpdatedAt .
256
+ }
257
+ INSERT {
258
+ ${inserts.join('\n ')}
259
+ }
260
+ WHERE {
261
+ ${deletes.join('\n ')}
262
+ }`;
263
+ }
264
+ function buildCredentialDeleteSparql(runtime, providerRef) {
265
+ return `DELETE {
266
+ ?credential ?predicate ?object .
267
+ }
268
+ WHERE {
269
+ ?credential <${runtime.XPOD_CREDENTIAL.provider}> <${providerRef}> ;
270
+ ?predicate ?object .
271
+ }`;
272
+ }
273
+ export const aiCommand = {
274
+ command: 'ai <action> [provider]',
275
+ describe: 'Manage LinX cloud AI provider credentials',
276
+ builder: (yargs) => yargs
277
+ .positional('action', {
278
+ type: 'string',
279
+ choices: ['connect', 'disconnect', 'status'],
280
+ })
281
+ .positional('provider', {
282
+ type: 'string',
283
+ description: 'Provider/backend id, for example claude, anthropic, codebuddy, codex',
284
+ })
285
+ .option('url', { type: 'string', description: 'Server base URL override' })
286
+ .option('api-key', { type: 'string', description: 'Provider API key' })
287
+ .option('model', { type: 'string', description: 'Default model id' })
288
+ .option('base-url', { type: 'string', description: 'Provider API base URL override' }),
289
+ handler: async (argv) => {
290
+ const action = argv.action;
291
+ const aiRuntime = await loadAiRuntime();
292
+ const { accessToken, podUrl } = await resolvePodWriteContext(argv.url);
293
+ const providerResource = absolutePodUri(podUrl, '/settings/ai/providers.ttl');
294
+ const credentialResource = absolutePodUri(podUrl, '/settings/credentials.ttl');
295
+ const modelResource = absolutePodUri(podUrl, '/settings/ai/models.ttl');
296
+ if (action === 'status') {
297
+ const [credentialTurtle, providerTurtle, modelTurtle] = await Promise.all([
298
+ fetchResourceText(credentialResource, accessToken),
299
+ fetchResourceText(providerResource, accessToken),
300
+ fetchResourceText(modelResource, accessToken),
301
+ ]);
302
+ const states = aiRuntime.buildAIConfigProviderStateMap({
303
+ fallbackToCatalogModels: false,
304
+ credentialRows: parseCredentialRows(credentialTurtle, credentialResource, aiRuntime),
305
+ providerRows: parseProviderRows(providerTurtle, providerResource, aiRuntime),
306
+ modelRows: parseModelRows(modelTurtle, modelResource, aiRuntime),
307
+ });
308
+ const filtered = Object.values(states).filter((state) => {
309
+ if (!state.apiKey)
310
+ return false;
311
+ if (!argv.provider)
312
+ return true;
313
+ return aiRuntime.sameAIConfigProviderFamily(argv.provider, state.id);
314
+ });
315
+ if (filtered.length === 0) {
316
+ process.stdout.write('No LinX cloud AI credentials found.\n');
317
+ return;
318
+ }
319
+ const lines = [];
320
+ for (const state of filtered) {
321
+ lines.push(`provider: ${state.id}`);
322
+ if (state.selectedModelId) {
323
+ lines.push(`model: ${state.selectedModelId}`);
324
+ }
325
+ lines.push(`api-key: ${maskSecret(state.apiKey)}`);
326
+ lines.push('');
327
+ }
328
+ process.stdout.write(`${lines.join('\n').trimEnd()}\n`);
329
+ return;
330
+ }
331
+ const providerArg = argv.provider?.trim();
332
+ if (!providerArg) {
333
+ throw new Error(action === 'disconnect'
334
+ ? 'Usage: linx ai disconnect <provider>'
335
+ : 'Usage: linx ai connect <provider> --api-key <key>');
336
+ }
337
+ const provider = aiRuntime.normalizeAIConfigProviderId(providerArg);
338
+ if (action === 'disconnect') {
339
+ const providerRefs = aiRuntime.getAIConfigProviderFamilyIds(provider).map((providerId) => absolutePodUri(podUrl, `/settings/ai/providers.ttl#${providerId}`));
340
+ for (const providerRef of providerRefs) {
341
+ await patchResource(credentialResource, accessToken, buildCredentialDeleteSparql(aiRuntime, providerRef));
342
+ }
343
+ process.stdout.write(`Disconnected AI provider: ${provider}\n`);
344
+ return;
345
+ }
346
+ const apiKey = await requireApiKey(argv);
347
+ const modelId = argv.model?.trim();
348
+ const plan = aiRuntime.buildAIConfigMutationPlan({
349
+ providerId: provider,
350
+ currentProviderRows: [],
351
+ currentCredentialRows: [],
352
+ currentModelRows: [],
353
+ updates: {
354
+ enabled: true,
355
+ apiKey,
356
+ baseUrl: argv['base-url']?.trim() || undefined,
357
+ models: modelId
358
+ ? [{
359
+ id: modelId,
360
+ name: modelId,
361
+ enabled: true,
362
+ capabilities: [],
363
+ }]
364
+ : undefined,
365
+ },
366
+ });
367
+ if (plan.providerPayload?.id) {
368
+ await patchResource(providerResource, accessToken, buildProviderSparql(aiRuntime, providerResource, podUrl, {
369
+ id: plan.providerPayload.id,
370
+ baseUrl: plan.providerPayload.baseUrl,
371
+ proxyUrl: plan.providerPayload.proxyUrl,
372
+ hasModel: plan.providerPayload.hasModel,
373
+ }));
374
+ }
375
+ if (plan.credentialPayload?.id
376
+ && plan.credentialPayload.provider
377
+ && plan.credentialPayload.service
378
+ && plan.credentialPayload.status) {
379
+ await patchResource(credentialResource, accessToken, buildCredentialSparql(aiRuntime, credentialResource, podUrl, {
380
+ id: plan.credentialPayload.id,
381
+ provider: plan.credentialPayload.provider,
382
+ service: plan.credentialPayload.service,
383
+ status: plan.credentialPayload.status,
384
+ apiKey: plan.credentialPayload.apiKey,
385
+ baseUrl: plan.credentialPayload.baseUrl,
386
+ label: plan.credentialPayload.label,
387
+ }));
388
+ }
389
+ for (const modelPayload of plan.modelUpserts) {
390
+ if (!modelPayload.id || !modelPayload.isProvidedBy || !modelPayload.createdAt || !modelPayload.updatedAt) {
391
+ continue;
392
+ }
393
+ await patchResource(modelResource, accessToken, buildModelSparql(aiRuntime, modelResource, podUrl, {
394
+ id: modelPayload.id,
395
+ displayName: modelPayload.displayName,
396
+ modelType: modelPayload.modelType,
397
+ isProvidedBy: modelPayload.isProvidedBy,
398
+ status: modelPayload.status,
399
+ createdAt: modelPayload.createdAt,
400
+ updatedAt: modelPayload.updatedAt,
401
+ }));
402
+ }
403
+ const metadata = aiRuntime.getAIConfigProviderMetadata(provider);
404
+ process.stdout.write(`Connected AI provider: ${metadata.id}\n`);
405
+ if (modelId) {
406
+ process.stdout.write(`model: ${aiRuntime.normalizeAIConfigResourceId(modelId)}\n`);
407
+ }
408
+ process.stdout.write(`api-key: ${maskSecret(apiKey)}\n`);
409
+ },
410
+ };
411
+ //# sourceMappingURL=ai-command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-command.js","sourceRoot":"","sources":["../../src/lib/ai-command.ts"],"names":[],"mappings":"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"}