@undefineds.co/xpod 0.3.15 → 0.3.16
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.
- package/config/local.json +5 -5
- package/config/xpod.json +24 -10
- package/dist/cli/commands/auth.d.ts +1 -0
- package/dist/cli/commands/auth.js +117 -37
- package/dist/cli/commands/auth.js.map +1 -1
- package/dist/cli/commands/login.js +16 -23
- package/dist/cli/commands/login.js.map +1 -1
- package/dist/cli/commands/logs.d.ts +2 -0
- package/dist/cli/commands/logs.js +20 -5
- package/dist/cli/commands/logs.js.map +1 -1
- package/dist/cli/commands/obj.d.ts +44 -0
- package/dist/cli/commands/obj.js +1059 -0
- package/dist/cli/commands/obj.js.map +1 -0
- package/dist/cli/commands/rdf.d.ts +14 -0
- package/dist/cli/commands/rdf.js +235 -0
- package/dist/cli/commands/rdf.js.map +1 -0
- package/dist/cli/commands/resource.d.ts +31 -0
- package/dist/cli/commands/resource.js +191 -0
- package/dist/cli/commands/resource.js.map +1 -0
- package/dist/cli/commands/secret.d.ts +36 -0
- package/dist/cli/commands/secret.js +285 -0
- package/dist/cli/commands/secret.js.map +1 -0
- package/dist/cli/commands/server.d.ts +11 -0
- package/dist/cli/commands/server.js +168 -0
- package/dist/cli/commands/server.js.map +1 -0
- package/dist/cli/commands/start.d.ts +1 -0
- package/dist/cli/commands/start.js +5 -0
- package/dist/cli/commands/start.js.map +1 -1
- package/dist/cli/commands/status.d.ts +1 -0
- package/dist/cli/commands/status.js +21 -6
- package/dist/cli/commands/status.js.map +1 -1
- package/dist/cli/commands/stop.d.ts +3 -0
- package/dist/cli/commands/stop.js +40 -6
- package/dist/cli/commands/stop.js.map +1 -1
- package/dist/cli/index.js +23 -8
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/lib/auth-context.d.ts +24 -0
- package/dist/cli/lib/auth-context.js +70 -0
- package/dist/cli/lib/auth-context.js.map +1 -0
- package/dist/cli/lib/output.d.ts +23 -0
- package/dist/cli/lib/output.js +63 -0
- package/dist/cli/lib/output.js.map +1 -0
- package/dist/cli/lib/resource.d.ts +29 -0
- package/dist/cli/lib/resource.js +114 -0
- package/dist/cli/lib/resource.js.map +1 -0
- package/dist/identity/oidc/AutoDetectIdentityProviderHandler.d.ts +11 -10
- package/dist/identity/oidc/AutoDetectIdentityProviderHandler.js +13 -24
- package/dist/identity/oidc/AutoDetectIdentityProviderHandler.js.map +1 -1
- package/dist/identity/oidc/AutoDetectIdentityProviderHandler.jsonld +4 -4
- package/dist/identity/oidc/AutoDetectOidcHandler.d.ts +8 -4
- package/dist/identity/oidc/AutoDetectOidcHandler.js +10 -6
- package/dist/identity/oidc/AutoDetectOidcHandler.js.map +1 -1
- package/dist/identity/oidc/AutoDetectOidcHandler.jsonld +3 -3
- package/dist/storage/accessors/MixDataAccessor.js +3 -0
- package/dist/storage/accessors/MixDataAccessor.js.map +1 -1
- package/dist/storage/quint/SqliteQuintStore.d.ts +26 -1
- package/dist/storage/quint/SqliteQuintStore.js +551 -318
- package/dist/storage/quint/SqliteQuintStore.js.map +1 -1
- package/dist/storage/quint/SqliteQuintStore.jsonld +102 -2
- package/dist/storage/quint/schema.d.ts +76 -0
- package/dist/storage/quint/schema.js +13 -7
- package/dist/storage/quint/schema.js.map +1 -1
- package/dist/storage/sparql/ComunicaQuintEngine.js +16 -3
- package/dist/storage/sparql/ComunicaQuintEngine.js.map +1 -1
- package/package.json +1 -1
- package/dist/cli/commands/config.d.ts +0 -42
- package/dist/cli/commands/config.js +0 -289
- package/dist/cli/commands/config.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/cli/commands/config.ts"],"names":[],"mappings":"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","sourcesContent":["import type { CommandModule } from 'yargs';\nimport { aiConfigModelRef, aiConfigProviderRef, getAIConfigProviderMetadata, XPOD_AI, XPOD_CREDENTIAL } from '@undefineds.co/models';\nimport { loadCredentials, getClientCredentials } from '../lib/credentials-store';\nimport { getAccessToken, authenticatedFetch } from '../lib/solid-auth';\n\ninterface ConfigArgs {\n url?: string;\n}\n\ninterface SetArgs extends ConfigArgs {\n provider?: string;\n model?: string;\n 'api-key'?: string;\n}\n\n/**\n * Config 子命令:配置 Pod 中的 AI provider。\n *\n * 写入 Pod 的两个资源,与服务端 PodChatKitStore.getAiConfig() 对齐:\n * /settings/providers/{provider}.ttl — Provider + optional Model\n * /settings/credentials.ttl#cred-{provider} — Credential (apiKey, service=ai, status=active, provider link)\n *\n * 用法:\n * xpod config set --provider openai --model gpt-4o --api-key sk-xxx\n * xpod config set --api-key sk-new-key # 更新已有 provider 的 key\n * xpod config show\n * xpod config reset\n */\n\nexport const AI_NS = XPOD_AI.NAMESPACE;\nexport const CREDENTIAL_NS = XPOD_CREDENTIAL.NAMESPACE;\n\n/** provider name → default baseUrl */\nexport const PROVIDER_BASE_URLS: Record<string, string> = {\n openai: 'https://api.openai.com/v1',\n google: 'https://generativelanguage.googleapis.com/v1beta/openai',\n anthropic: 'https://api.anthropic.com/v1',\n deepseek: 'https://api.deepseek.com/v1',\n openrouter: 'https://openrouter.ai/api/v1',\n ollama: 'http://localhost:11434/v1',\n mistral: 'https://api.mistral.ai/v1',\n cohere: 'https://api.cohere.ai/v1',\n zhipu: 'https://open.bigmodel.cn/api/paas/v4',\n codebuddy: 'https://api.codebuddy.ai/v1',\n};\n\nexport function maskSecret(value: string): string {\n if (value.length <= 8) return '****';\n return value.slice(0, 4) + '****' + value.slice(-4);\n}\n\nexport function credentialId(provider: string): string {\n return `cred-${provider.toLowerCase()}`;\n}\n\nasync function resolveAuth(argv: ConfigArgs): Promise<{ accessToken: string; podUrl: string }> {\n const creds = loadCredentials();\n if (!creds) {\n console.error('No credentials found. Run `xpod auth create-credentials` first.');\n process.exit(1);\n }\n\n const clientCreds = getClientCredentials(creds);\n if (!clientCreds) {\n console.error('OAuth authentication not yet supported. Please use client credentials.');\n process.exit(1);\n }\n\n const baseUrl = (argv.url ?? creds.url).replace(/\\/?$/, '/');\n\n const tokenResult = await getAccessToken(clientCreds.clientId, clientCreds.clientSecret, baseUrl);\n if (!tokenResult) {\n console.error('Failed to obtain access token. Credentials may be expired — run `xpod auth create-credentials` again.');\n process.exit(1);\n }\n\n const webIdUrl = new URL(creds.webId);\n const pathParts = webIdUrl.pathname.split('/').filter(Boolean);\n const podUrl = `${webIdUrl.origin}/${pathParts[0]}/`;\n\n return { accessToken: tokenResult.accessToken, podUrl };\n}\n\n/**\n * Build SPARQL UPDATE to upsert a Provider at /settings/providers/{id}.ttl\n */\nexport function buildProviderSparql(resourceUrl: string, providerId: string, fields: { model?: string } = {}): string {\n const baseUrl = PROVIDER_BASE_URLS[providerId.toLowerCase()];\n const displayName = getAIConfigProviderMetadata(providerId).displayName\n ?? providerId.charAt(0).toUpperCase() + providerId.slice(1);\n const subject = `<${resourceUrl}>`;\n const deletes = [\n `${subject} ai:baseUrl ?oldBase .`,\n `${subject} ai:displayName ?oldName .`,\n ];\n const providerPredicates = [\n `a ai:Provider`,\n `ai:displayName \"${displayName}\"`,\n ];\n const insertTriples: string[] = [];\n const optionals = [\n `OPTIONAL { ${subject} ai:baseUrl ?oldBase }`,\n `OPTIONAL { ${subject} ai:displayName ?oldName }`,\n ];\n\n if (baseUrl) {\n providerPredicates.push(`ai:baseUrl \"${baseUrl}\"`);\n }\n\n if (fields.model) {\n const modelRef = aiConfigModelRef(providerId, fields.model);\n const fragmentIndex = modelRef.indexOf('#');\n const modelSubject = fragmentIndex >= 0\n ? `<${resourceUrl}#${modelRef.slice(fragmentIndex + 1)}>`\n : `<${resourceUrl}#${fields.model}>`;\n deletes.push(`${subject} ai:defaultModel ?oldDefaultModel .`);\n deletes.push(`${subject} ai:hasModel ?oldHasModel .`);\n optionals.push(`OPTIONAL { ${subject} ai:defaultModel ?oldDefaultModel }`);\n optionals.push(`OPTIONAL { ${subject} ai:hasModel ?oldHasModel }`);\n providerPredicates.push(`ai:defaultModel ${modelSubject}`);\n providerPredicates.push(`ai:hasModel ${modelSubject}`);\n insertTriples.push(`${modelSubject} a ai:Model ; ai:displayName \"${fields.model}\" ; ai:modelType \"chat\" ; ai:isProvidedBy ${subject} ; ai:status \"active\" .`);\n }\n insertTriples.unshift(`${subject} ${providerPredicates.join(' ;\\n ')} .`);\n\n return `PREFIX ai: <${AI_NS}>\nDELETE { ${deletes.join(' ')} }\nINSERT { ${insertTriples.join('\\n ')} }\nWHERE { ${optionals.join(' ')} }`;\n}\n\n/**\n * Build SPARQL UPDATE to upsert a Credential at /settings/credentials.ttl#cred-{provider}\n */\nexport function buildCredentialSparql(\n resourceUrl: string,\n podUrl: string,\n provider: string,\n fields: { apiKey?: string; model?: string },\n): string {\n const credId = credentialId(provider);\n const subject = `<${resourceUrl}#${credId}>`;\n const providerResource = `<${podUrl.replace(/\\/$/, '')}${aiConfigProviderRef(provider)}>`;\n\n const deletes: string[] = [];\n const inserts: string[] = [\n `${subject} a cred:Credential`,\n `cred:service \"ai\"`,\n `cred:status \"active\"`,\n `cred:provider ${providerResource}`,\n ];\n const optionals: string[] = [];\n\n // Always delete+reinsert provider link\n deletes.push(`${subject} cred:provider ?oldProv .`);\n optionals.push(`OPTIONAL { ${subject} cred:provider ?oldProv }`);\n\n if (fields.apiKey) {\n deletes.push(`${subject} cred:apiKey ?oldKey .`);\n optionals.push(`OPTIONAL { ${subject} cred:apiKey ?oldKey }`);\n inserts.push(`cred:apiKey \"${fields.apiKey}\"`);\n }\n\n return `PREFIX cred: <${CREDENTIAL_NS}>\nDELETE { ${deletes.join(' ')} }\nINSERT { ${inserts.join(' ;\\n ')} }\nWHERE { ${optionals.join(' ')} }`;\n}\n\n/**\n * Build SPARQL UPDATE to delete a Credential\n */\nexport function buildResetSparql(resourceUrl: string, provider: string): string {\n const credId = credentialId(provider);\n const subject = `<${resourceUrl}#${credId}>`;\n return `PREFIX cred: <${CREDENTIAL_NS}>\\nDELETE WHERE { ${subject} ?p ?o }`;\n}\n\nasync function writeProvider(podUrl: string, accessToken: string, providerId: string, fields: { model?: string }): Promise<boolean> {\n const resource = `${podUrl.replace(/\\/$/, '')}${aiConfigProviderRef(providerId)}`;\n const sparql = buildProviderSparql(resource, providerId, fields);\n const res = await authenticatedFetch(resource, accessToken, {\n method: 'PATCH',\n headers: { 'Content-Type': 'application/sparql-update' },\n body: sparql,\n });\n return res.ok;\n}\n\nasync function writeCredential(\n podUrl: string,\n accessToken: string,\n provider: string,\n fields: { apiKey?: string; model?: string },\n): Promise<boolean> {\n const resource = `${podUrl}settings/credentials.ttl`;\n const sparql = buildCredentialSparql(resource, podUrl, provider, fields);\n const res = await authenticatedFetch(resource, accessToken, {\n method: 'PATCH',\n headers: { 'Content-Type': 'application/sparql-update' },\n body: sparql,\n });\n return res.ok;\n}\n\nconst setCommand: CommandModule<ConfigArgs, SetArgs> = {\n command: 'set',\n describe: 'Configure Pod AI provider (provider, model, api-key — one or more)',\n builder: (yargs) =>\n yargs\n .option('provider', { type: 'string', description: `AI provider (${Object.keys(PROVIDER_BASE_URLS).join(', ')})` })\n .option('model', { type: 'string', description: 'Default model name' })\n .option('api-key', { type: 'string', description: 'API key' })\n .check((argv) => {\n if (!argv.provider && !argv.model && !argv['api-key']) {\n throw new Error('Specify at least one of --provider, --model, or --api-key');\n }\n if ((argv.model || argv['api-key']) && !argv.provider) {\n throw new Error('--provider is required when setting --model or --api-key');\n }\n return true;\n }),\n handler: async (argv) => {\n const { accessToken, podUrl } = await resolveAuth(argv);\n const provider = argv.provider!;\n\n // Write provider\n const provOk = await writeProvider(podUrl, accessToken, provider, { model: argv.model });\n if (!provOk) {\n console.error('Failed to write provider config.');\n process.exit(1);\n }\n\n // Write credential\n const credOk = await writeCredential(podUrl, accessToken, provider, {\n apiKey: argv['api-key'],\n model: argv.model,\n });\n if (!credOk) {\n console.error('Failed to write credential config.');\n process.exit(1);\n }\n\n console.log(` provider: ${provider}`);\n if (argv.model) console.log(` model: ${argv.model}`);\n if (argv['api-key']) console.log(` api-key: ${maskSecret(argv['api-key'])}`);\n console.log('Pod AI provider config saved.');\n },\n};\n\nconst showCommand: CommandModule<ConfigArgs, ConfigArgs> = {\n command: 'show',\n describe: 'Show current Pod AI provider config',\n builder: (yargs) => yargs,\n handler: async (argv) => {\n const { accessToken, podUrl } = await resolveAuth(argv);\n const resource = `${podUrl}settings/credentials.ttl`;\n const res = await authenticatedFetch(resource, accessToken, {\n headers: { Accept: 'text/turtle' },\n });\n\n if (!res.ok) {\n console.log('No Pod AI provider config found. Use `xpod config set --provider openai --api-key sk-xxx` to configure.');\n return;\n }\n\n const turtle = await res.text();\n // Parse simple triples from turtle to find AI credentials\n const credBlocks = turtle.split(/(?=<[^>]*#cred-)/);\n let found = false;\n for (const block of credBlocks) {\n if (!block.includes('service') || !block.includes('\"ai\"')) continue;\n found = true;\n\n const providerMatch = block.match(/settings\\/providers\\/([^/\\s>]+)\\.ttl/);\n const apiKeyMatch = block.match(/apiKey\\s+\"([^\"]+)\"/);\n\n if (providerMatch) console.log(` provider: ${providerMatch[1]}`);\n if (apiKeyMatch) console.log(` api-key: ${maskSecret(apiKeyMatch[1])}`);\n }\n\n if (!found) {\n console.log('No Pod AI provider config found. Use `xpod config set --provider openai --api-key sk-xxx` to configure.');\n }\n },\n};\n\nconst resetCommand: CommandModule<ConfigArgs, SetArgs> = {\n command: 'reset',\n describe: 'Remove Pod AI provider config',\n builder: (yargs) =>\n yargs.option('provider', {\n type: 'string',\n description: 'Provider to remove',\n demandOption: true,\n }),\n handler: async (argv) => {\n const { accessToken, podUrl } = await resolveAuth(argv);\n const provider = argv.provider!;\n const resource = `${podUrl}settings/credentials.ttl`;\n const sparql = buildResetSparql(resource, provider);\n\n const res = await authenticatedFetch(resource, accessToken, {\n method: 'PATCH',\n headers: { 'Content-Type': 'application/sparql-update' },\n body: sparql,\n });\n\n if (res.ok) {\n console.log(`Pod AI provider config for ${provider} removed.`);\n } else {\n const text = await res.text();\n console.error(`Failed to reset config: ${res.status} ${text.slice(0, 200)}`);\n process.exit(1);\n }\n },\n};\n\nexport const configCommand: CommandModule<object, ConfigArgs> = {\n command: 'config',\n describe: 'Pod AI provider configuration (provider, model, api-key)',\n builder: (yargs) =>\n yargs\n .option('url', {\n alias: 'u',\n type: 'string',\n description: 'Server base URL (default: from ~/.xpod/)',\n })\n .command(setCommand)\n .command(showCommand)\n .command(resetCommand)\n .demandCommand(1, 'Please specify a config subcommand'),\n handler: () => {},\n};\n"]}
|