@remotedraw/cli 0.2.1 → 0.2.2
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/README.md +20 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +182 -41
- package/dist/cloud.d.ts +1 -1
- package/dist/cloud.d.ts.map +1 -1
- package/dist/generated/agent-skill.d.ts +1 -1
- package/dist/generated/agent-skill.d.ts.map +1 -1
- package/dist/generated/agent-skill.js +1 -1
- package/dist/locales/en.d.ts +19 -4
- package/dist/locales/en.d.ts.map +1 -1
- package/dist/locales/en.js +19 -4
- package/dist/locales/index.d.ts +20 -5
- package/dist/locales/index.d.ts.map +1 -1
- package/dist/locales/nl.d.ts.map +1 -1
- package/dist/locales/nl.js +19 -4
- package/dist/scan.d.ts +58 -0
- package/dist/scan.d.ts.map +1 -0
- package/dist/scan.js +544 -0
- package/dist/telemetry.d.ts +1 -1
- package/dist/telemetry.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/locales/en.js
CHANGED
|
@@ -16,7 +16,6 @@ export const en = {
|
|
|
16
16
|
// installed locale into its prompt, so the question reads no matter which
|
|
17
17
|
// language the user speaks.
|
|
18
18
|
"language.word": "Language",
|
|
19
|
-
"language.prompt.helper": "Sets the language of the RemoteDraw CLI. Generated code and files stay in English.",
|
|
20
19
|
"language.saved": "Language set to {language}. Change it any time with: remotedraw language",
|
|
21
20
|
"language.current": "Language: {language} ({locale})",
|
|
22
21
|
"language.source.flag": "Set for this run by --language.",
|
|
@@ -54,6 +53,24 @@ export const en = {
|
|
|
54
53
|
"help.command.createInput": "Create or print a test input request payload.",
|
|
55
54
|
"help.command.examples": "List or install example projects.",
|
|
56
55
|
"help.command.agent": "Print or install the RemoteDraw agent skill.",
|
|
56
|
+
"help.command.scan": "Read a codebase and propose where RemoteDraw fits.",
|
|
57
|
+
"help.command.project": "Create a dashboard project and API key without scaffolding.",
|
|
58
|
+
"project.help.usage": " remotedraw project create --name <name> [--key-name <name>] [--env <dir>] [--format json]",
|
|
59
|
+
"project.help.body": "Creates a dashboard project and a project-scoped development API key. Nothing is scaffolded; use it when the integration already has its files.",
|
|
60
|
+
"project.help.env": "Pass --env <dir> to write REMOTEDRAW_API_BASE_URL, REMOTEDRAW_PROJECT_ID, and REMOTEDRAW_API_KEY into <dir>/.env.local instead of printing the key.",
|
|
61
|
+
"project.help.auth": "Needs a signed-in CLI (remotedraw login) or REMOTEDRAW_CLI_TOKEN.",
|
|
62
|
+
"project.error.unknownSubcommand": "Unknown project subcommand: {subcommand}. Expected create.",
|
|
63
|
+
"project.error.nameRequired": "--name is required for project create.",
|
|
64
|
+
"project.created": "Created project {name} ({id}).",
|
|
65
|
+
"project.keyWritten": "Wrote the API key to {path}.",
|
|
66
|
+
"project.keyOnce": "API key (shown once): {key}",
|
|
67
|
+
"project.keyRule": "Keep rd_sk_... keys in backend secrets only; never in browser bundles, mobile apps, or source control.",
|
|
68
|
+
"cloud.warning.clientTree": "src/remotedraw/createRemoteDrawSession.ts reads REMOTEDRAW_API_KEY and must run server-side. Move it to your API route, server action, Convex action, or serverless function before use; a browser bundle must never import it.",
|
|
69
|
+
"scan.help.usage": " remotedraw scan [--path <dir>] [--format json]",
|
|
70
|
+
"scan.help.body": "Detects web, server, and iOS projects, existing RemoteDraw wiring, and where an rd_sk_ key may live; then lists integration options and the product questions to ask the user before building.",
|
|
71
|
+
"scan.help.privacy": "Reads manifests and file names only. Reports env variable names, never values.",
|
|
72
|
+
"scan.help.json": "Pass --format json for the machine-readable report agents should read.",
|
|
73
|
+
"scan.error.missingPath": "Path does not exist: {path}",
|
|
57
74
|
"help.startHere": "Start here:",
|
|
58
75
|
// ── guide ─────────────────────────────────────────────────────────────
|
|
59
76
|
"guide.title": "RemoteDraw integration guide",
|
|
@@ -212,7 +229,6 @@ export const en = {
|
|
|
212
229
|
"wizard.control.back": "Esc back",
|
|
213
230
|
"wizard.control.quitCtrlC": "Ctrl+C quit",
|
|
214
231
|
"wizard.control.quitQ": "q quit",
|
|
215
|
-
"wizard.control.move": "↑/↓ move",
|
|
216
232
|
"wizard.control.steps": "←/→ steps",
|
|
217
233
|
"wizard.control.choose": "↑/↓ choose",
|
|
218
234
|
"wizard.control.docs": "d open docs",
|
|
@@ -230,7 +246,6 @@ export const en = {
|
|
|
230
246
|
"wizard.tagline.setup": "phone → canvas · project setup",
|
|
231
247
|
"wizard.tagline": "phone → canvas",
|
|
232
248
|
"wizard.docs.openFailed": "Could not open the documentation. Use {url}",
|
|
233
|
-
"wizard.docs.button": "[ {label} ↗ ]",
|
|
234
249
|
// ── new / init ────────────────────────────────────────────────────────
|
|
235
250
|
"new.help.usage.bare": " remotedraw new",
|
|
236
251
|
"new.help.usage.named": " remotedraw new --app-name <name> [options]",
|
|
@@ -302,7 +317,7 @@ export const en = {
|
|
|
302
317
|
"doctor.sdk.ok": "{package} is listed in package.json dependencies.",
|
|
303
318
|
"doctor.sdk.missing": "Add {package}@{range} to dependencies or rerun remotedraw init.",
|
|
304
319
|
"doctor.apiKey.ok": "Server-side API key shape looks correct.",
|
|
305
|
-
"doctor.apiKey.missing": "
|
|
320
|
+
"doctor.apiKey.missing": "No rd_sk_... key found in this project's environment (REMOTEDRAW_API_KEY). When you add one, keep it in backend secrets only.",
|
|
306
321
|
"doctor.label.deployment": "deployment",
|
|
307
322
|
"doctor.label.deploymentReachable": "deployment reachable",
|
|
308
323
|
"doctor.label.apiKeyAccepted": "API key accepted",
|
package/dist/locales/index.d.ts
CHANGED
|
@@ -15,7 +15,6 @@ export declare const LOCALES: {
|
|
|
15
15
|
aliases: string[];
|
|
16
16
|
catalog: {
|
|
17
17
|
readonly "language.word": "Language";
|
|
18
|
-
readonly "language.prompt.helper": "Sets the language of the RemoteDraw CLI. Generated code and files stay in English.";
|
|
19
18
|
readonly "language.saved": "Language set to {language}. Change it any time with: remotedraw language";
|
|
20
19
|
readonly "language.current": "Language: {language} ({locale})";
|
|
21
20
|
readonly "language.source.flag": "Set for this run by --language.";
|
|
@@ -51,6 +50,24 @@ export declare const LOCALES: {
|
|
|
51
50
|
readonly "help.command.createInput": "Create or print a test input request payload.";
|
|
52
51
|
readonly "help.command.examples": "List or install example projects.";
|
|
53
52
|
readonly "help.command.agent": "Print or install the RemoteDraw agent skill.";
|
|
53
|
+
readonly "help.command.scan": "Read a codebase and propose where RemoteDraw fits.";
|
|
54
|
+
readonly "help.command.project": "Create a dashboard project and API key without scaffolding.";
|
|
55
|
+
readonly "project.help.usage": " remotedraw project create --name <name> [--key-name <name>] [--env <dir>] [--format json]";
|
|
56
|
+
readonly "project.help.body": "Creates a dashboard project and a project-scoped development API key. Nothing is scaffolded; use it when the integration already has its files.";
|
|
57
|
+
readonly "project.help.env": "Pass --env <dir> to write REMOTEDRAW_API_BASE_URL, REMOTEDRAW_PROJECT_ID, and REMOTEDRAW_API_KEY into <dir>/.env.local instead of printing the key.";
|
|
58
|
+
readonly "project.help.auth": "Needs a signed-in CLI (remotedraw login) or REMOTEDRAW_CLI_TOKEN.";
|
|
59
|
+
readonly "project.error.unknownSubcommand": "Unknown project subcommand: {subcommand}. Expected create.";
|
|
60
|
+
readonly "project.error.nameRequired": "--name is required for project create.";
|
|
61
|
+
readonly "project.created": "Created project {name} ({id}).";
|
|
62
|
+
readonly "project.keyWritten": "Wrote the API key to {path}.";
|
|
63
|
+
readonly "project.keyOnce": "API key (shown once): {key}";
|
|
64
|
+
readonly "project.keyRule": "Keep rd_sk_... keys in backend secrets only; never in browser bundles, mobile apps, or source control.";
|
|
65
|
+
readonly "cloud.warning.clientTree": "src/remotedraw/createRemoteDrawSession.ts reads REMOTEDRAW_API_KEY and must run server-side. Move it to your API route, server action, Convex action, or serverless function before use; a browser bundle must never import it.";
|
|
66
|
+
readonly "scan.help.usage": " remotedraw scan [--path <dir>] [--format json]";
|
|
67
|
+
readonly "scan.help.body": "Detects web, server, and iOS projects, existing RemoteDraw wiring, and where an rd_sk_ key may live; then lists integration options and the product questions to ask the user before building.";
|
|
68
|
+
readonly "scan.help.privacy": "Reads manifests and file names only. Reports env variable names, never values.";
|
|
69
|
+
readonly "scan.help.json": "Pass --format json for the machine-readable report agents should read.";
|
|
70
|
+
readonly "scan.error.missingPath": "Path does not exist: {path}";
|
|
54
71
|
readonly "help.startHere": "Start here:";
|
|
55
72
|
readonly "guide.title": "RemoteDraw integration guide";
|
|
56
73
|
readonly "guide.intro": "Choose the surface your customer already has:";
|
|
@@ -200,7 +217,6 @@ export declare const LOCALES: {
|
|
|
200
217
|
readonly "wizard.control.back": "Esc back";
|
|
201
218
|
readonly "wizard.control.quitCtrlC": "Ctrl+C quit";
|
|
202
219
|
readonly "wizard.control.quitQ": "q quit";
|
|
203
|
-
readonly "wizard.control.move": "↑/↓ move";
|
|
204
220
|
readonly "wizard.control.steps": "←/→ steps";
|
|
205
221
|
readonly "wizard.control.choose": "↑/↓ choose";
|
|
206
222
|
readonly "wizard.control.docs": "d open docs";
|
|
@@ -218,7 +234,6 @@ export declare const LOCALES: {
|
|
|
218
234
|
readonly "wizard.tagline.setup": "phone → canvas · project setup";
|
|
219
235
|
readonly "wizard.tagline": "phone → canvas";
|
|
220
236
|
readonly "wizard.docs.openFailed": "Could not open the documentation. Use {url}";
|
|
221
|
-
readonly "wizard.docs.button": "[ {label} ↗ ]";
|
|
222
237
|
readonly "new.help.usage.bare": " remotedraw new";
|
|
223
238
|
readonly "new.help.usage.named": " remotedraw new --app-name <name> [options]";
|
|
224
239
|
readonly "new.help.interactive": "Run without options for the interactive setup flow.";
|
|
@@ -286,7 +301,7 @@ export declare const LOCALES: {
|
|
|
286
301
|
readonly "doctor.sdk.ok": "{package} is listed in package.json dependencies.";
|
|
287
302
|
readonly "doctor.sdk.missing": "Add {package}@{range} to dependencies or rerun remotedraw init.";
|
|
288
303
|
readonly "doctor.apiKey.ok": "Server-side API key shape looks correct.";
|
|
289
|
-
readonly "doctor.apiKey.missing": "
|
|
304
|
+
readonly "doctor.apiKey.missing": "No rd_sk_... key found in this project's environment (REMOTEDRAW_API_KEY). When you add one, keep it in backend secrets only.";
|
|
290
305
|
readonly "doctor.label.deployment": "deployment";
|
|
291
306
|
readonly "doctor.label.deploymentReachable": "deployment reachable";
|
|
292
307
|
readonly "doctor.label.apiKeyAccepted": "API key accepted";
|
|
@@ -419,7 +434,7 @@ export declare const LOCALES: {
|
|
|
419
434
|
endonym: string;
|
|
420
435
|
tags: string[];
|
|
421
436
|
aliases: string[];
|
|
422
|
-
catalog: Partial<Record<"language.word" | "language.prompt.helper" | "language.saved" | "language.current" | "language.source.flag" | "language.source.env" | "language.source.config" | "language.source.default" | "language.available" | "language.unknown" | "language.saveFailed" | "language.help.title" | "language.help.usage.list" | "language.help.usage.set" | "language.help.body" | "language.help.override" | "word.usage" | "word.options" | "word.commands" | "word.next" | "word.examples" | "help.title" | "help.usage.main" | "help.command.guide" | "help.command.options" | "help.command.language" | "help.command.login" | "help.command.logout" | "help.command.whoami" | "help.command.new" | "help.command.init" | "help.command.dev" | "help.command.doctor" | "help.command.update" | "help.command.createInput" | "help.command.examples" | "help.command.agent" | "help.startHere" | "guide.title" | "guide.intro" | "guide.path.webIos" | "guide.path.webOwned" | "guide.path.svelteIos" | "guide.path.desktop" | "guide.path.ownIos" | "guide.note.keys" | "guide.note.provisioning" | "guide.note.offline" | "options.title" | "options.machineReadable" | "options.help.body" | "field.appName" | "field.target" | "field.sender" | "field.sdk" | "field.preset" | "field.packageManager" | "field.apiBaseUrl" | "field.project" | "field.folder" | "field.sdkShort" | "field.sender.helper" | "field.sdk.helper" | "field.appName.error" | "field.appName.preview" | "choice.target.web.label" | "choice.target.web.summary" | "choice.target.web.explanation" | "choice.target.web.docs" | "choice.target.desktop.label" | "choice.target.desktop.summary" | "choice.target.desktop.explanation" | "choice.target.desktop.docs" | "choice.target.ios.label" | "choice.target.ios.summary" | "choice.target.ios.explanation" | "choice.target.ios.docs" | "choice.target.headless.label" | "choice.target.headless.summary" | "choice.target.headless.explanation" | "choice.target.headless.docs" | "choice.sender.remotedrawIos.label" | "choice.sender.remotedrawIos.hint.scan" | "choice.sender.remotedrawIos.hint.joinUrl" | "choice.sender.remotedrawIos.summary" | "choice.sender.remotedrawIos.explanation" | "choice.sender.remotedrawIos.docs" | "choice.sender.embeddedWeb.label" | "choice.sender.embeddedWeb.hint" | "choice.sender.embeddedWeb.summary" | "choice.sender.embeddedWeb.explanation" | "choice.sender.embeddedWeb.docs" | "choice.sender.ownIos.label" | "choice.sender.ownIos.hint" | "choice.sender.ownIos.summary" | "choice.sender.ownIos.explanation" | "choice.sender.ownIos.docs" | "choice.sender.headless.label" | "choice.sender.headless.hint.noUi" | "choice.sender.headless.hint.httpRoutes" | "choice.sender.headless.summary" | "choice.sender.headless.explanation" | "choice.sender.headless.docs" | "choice.sdk.react.label" | "choice.sdk.react.hint" | "choice.sdk.react.summary" | "choice.sdk.react.explanation" | "choice.sdk.react.docs" | "choice.sdk.svelte.label" | "choice.sdk.svelte.hint" | "choice.sdk.svelte.summary" | "choice.sdk.svelte.explanation" | "choice.sdk.svelte.docs" | "choice.sdk.js.label.client" | "choice.sdk.js.label.noFramework" | "choice.sdk.js.hint.client" | "choice.sdk.js.hint.noFramework" | "choice.sdk.js.summary" | "choice.sdk.js.explanation" | "choice.sdk.js.docs" | "choice.sdk.swift.label" | "choice.sdk.swift.hint" | "choice.sdk.swift.summary" | "choice.sdk.swift.explanation" | "choice.sdk.swift.docs" | "choice.sdk.headless.label" | "choice.sdk.headless.hint" | "choice.sdk.headless.summary" | "choice.sdk.headless.explanation" | "choice.sdk.headless.docs" | "choice.preset.approval.summary" | "choice.preset.approval.explanation" | "choice.preset.approval.docs" | "choice.preset.sketch.label" | "choice.preset.sketch.hint" | "choice.preset.sketch.summary" | "choice.preset.sketch.explanation" | "choice.preset.sketch.docs" | "choice.preset.photoMarkup.summary" | "choice.preset.photoMarkup.explanation" | "choice.preset.photoMarkup.docs" | "choice.preset.pdfMarkup.summary" | "choice.preset.pdfMarkup.explanation" | "choice.preset.pdfMarkup.docs" | "choice.preset.mapMarkup.summary" | "choice.preset.mapMarkup.explanation" | "choice.preset.mapMarkup.docs" | "choice.preset.screenMarkup.label" | "choice.preset.screenMarkup.hint" | "choice.preset.screenMarkup.summary" | "choice.preset.screenMarkup.explanation" | "choice.preset.screenMarkup.docs" | "choice.preset.designReview.summary" | "choice.preset.designReview.explanation" | "choice.preset.designReview.docs" | "choice.preset.pointer.summary" | "choice.preset.pointer.explanation" | "choice.preset.pointer.docs" | "choice.packageManager.npm.summary" | "choice.packageManager.npm.explanation" | "choice.packageManager.npm.docs" | "choice.packageManager.pnpm.summary" | "choice.packageManager.pnpm.explanation" | "choice.packageManager.pnpm.docs" | "choice.packageManager.yarn.summary" | "choice.packageManager.yarn.explanation" | "choice.packageManager.yarn.docs" | "choice.packageManager.bun.summary" | "choice.packageManager.bun.explanation" | "choice.packageManager.bun.docs" | "wizard.title.setup" | "wizard.title.review" | "wizard.title.confirm" | "wizard.title.executing" | "wizard.title.success" | "wizard.title.error" | "wizard.title.interrupted" | "wizard.title.cancelled" | "wizard.confirm.no" | "wizard.confirm.yes" | "wizard.hint.replaceDefault" | "wizard.hint.edit" | "wizard.control.next" | "wizard.control.back" | "wizard.control.quitCtrlC" | "wizard.control.quitQ" | "wizard.control.move" | "wizard.control.steps" | "wizard.control.choose" | "wizard.control.docs" | "wizard.control.forward" | "wizard.control.backArrow" | "wizard.control.confirm" | "wizard.progress.step" | "wizard.card.help" | "wizard.card.summary" | "wizard.value.default" | "wizard.executing.detail" | "wizard.created.at" | "wizard.next.command" | "wizard.docs.line" | "wizard.tagline.setup" | "wizard.tagline" | "wizard.docs.openFailed" | "wizard.docs.button" | "new.help.usage.bare" | "new.help.usage.named" | "new.help.interactive" | "new.help.option.path" | "new.help.option.target" | "new.help.option.sender" | "new.help.option.sdk" | "new.help.option.preset" | "new.help.option.packageManager" | "new.help.option.apiBaseUrl" | "new.help.option.force" | "new.help.option.offline" | "new.help.option.nonInteractive" | "new.help.option.format" | "new.help.option.dryRun" | "new.help.option.language" | "init.help.usage" | "init.help.body" | "prompt.control.move" | "prompt.control.select" | "prompt.control.quit" | "prompt.intro.setup" | "scaffold.verb.created" | "scaffold.verb.initialized" | "scaffold.verb.installedExample" | "scaffold.headline" | "scaffold.choices" | "scaffold.choice.app" | "scaffold.choice.sdk" | "scaffold.choice.sender" | "scaffold.choice.starter" | "scaffold.wrote" | "scaffold.wouldWrite" | "scaffold.next.install" | "scaffold.next.secrets" | "scaffold.next.createInput" | "scaffold.next.render" | "cloud.skipped" | "cloud.dashboardProject" | "cloud.devKey" | "cloud.projectId" | "cloud.warning.placeholder" | "cloud.warning.offline" | "cloud.warning.dryRun" | "login.already" | "login.complete" | "login.credential" | "login.help.title" | "login.help.usage" | "login.help.body" | "logout.done" | "logout.none" | "logout.help.title" | "logout.help.usage" | "whoami.notLoggedIn" | "whoami.api" | "whoami.anonymous" | "whoami.help.title" | "whoami.help.usage" | "doctor.title" | "doctor.config.ok" | "doctor.config.missing" | "doctor.package.ok" | "doctor.package.missing" | "doctor.sdk.ok" | "doctor.sdk.missing" | "doctor.apiKey.ok" | "doctor.apiKey.missing" | "doctor.label.deployment" | "doctor.label.deploymentReachable" | "doctor.label.apiKeyAccepted" | "doctor.label.cliVersion" | "doctor.network.offline" | "doctor.network.noOrigin" | "doctor.health.ok" | "doctor.health.failed" | "doctor.key.skippedNoKey" | "doctor.key.skippedNoHealth" | "doctor.key.liveOne" | "doctor.key.liveMany" | "doctor.version.offline" | "doctor.version.unknown" | "doctor.version.stale" | "doctor.version.latest" | "doctor.probe.noNetwork" | "doctor.probe.noNetworkKey" | "doctor.probe.nonJson" | "doctor.probe.rejected" | "doctor.baseUrl.placeholder" | "doctor.baseUrl.invalid" | "doctor.baseUrl.default" | "doctor.baseUrl.production" | "doctor.baseUrl.override" | "doctor.baseUrl.origin.flag" | "doctor.baseUrl.origin.project" | "doctor.help.usage" | "doctor.help.checks" | "doctor.help.baseUrl" | "doctor.help.network" | "doctor.help.version" | "doctor.help.offline" | "update.unreachable" | "update.alreadyLatest" | "update.available" | "update.ephemeral" | "update.runToInstall" | "update.availableRun" | "update.failed" | "update.done" | "update.help.usage" | "update.help.body" | "update.help.global" | "update.help.check" | "update.help.silence" | "dev.title" | "dev.apiBaseUrl" | "dev.hosted" | "dev.step1" | "dev.step1.detail" | "dev.step2" | "dev.step3" | "dev.step3.detail" | "dev.help.usage" | "dev.help.body" | "createInput.title" | "createInput.warning" | "createInput.footer" | "createInput.error.noFetch" | "createInput.error.noKey" | "createInput.error.apiStatus" | "createInput.help.usage" | "createInput.help.option.preset" | "createInput.help.option.label" | "createInput.help.option.externalId" | "createInput.help.option.apiBaseUrl" | "createInput.help.option.apiKey" | "createInput.help.option.expiresInMs" | "examples.title" | "examples.reactIos" | "examples.reactOwnedSender" | "examples.rawHttp" | "examples.iosOwnedSender" | "examples.installOne" | "examples.help.usage.list" | "examples.help.usage.install" | "agent.title" | "agent.intro" | "agent.printSkill" | "agent.installSkill" | "agent.wouldWrite" | "agent.installed" | "agent.next" | "agent.error.exists" | "agent.help.usage.bare" | "agent.help.usage.print" | "agent.help.usage.install" | "agent.help.paths" | "agent.help.body" | "cloud.authorize" | "cloud.browserOpened" | "cloud.browserFailed" | "cloud.error.notLoggedIn" | "cloud.error.authStatus" | "cloud.error.authExpired" | "cloud.error.noFetch" | "cloud.error.unreachable" | "cloud.error.endpointMissing" | "cloud.error.invalidResponse" | "cloud.error.requestFailed" | "cloud.error.badOrigin" | "cloud.error.configUnreadable" | "cloud.error.envConflict" | "notice.update.available" | "notice.update.ephemeral" | "notice.update.install" | "error.appNameRequired" | "error.plan.ownIosNeedsSwift" | "error.plan.swiftNeedsOwnIos" | "error.plan.iosNeedsOwnIos" | "error.plan.headlessSenderSdk" | "error.unknownChoice" | "error.refuseOverwrite" | "error.expectedHttpOrigin" | "error.expectedBareOrigin" | "error.noHome" | "error.unknownCommand" | "error.unsupportedOption" | "error.optionNoValue" | "error.optionNeedsValue" | "error.expiresInMs" | "error.interactiveNeedsTty" | "error.noChoices" | "error.httpsDocsOnly" | "error.httpUrlsOnly", string>>;
|
|
437
|
+
catalog: Partial<Record<"language.word" | "language.saved" | "language.current" | "language.source.flag" | "language.source.env" | "language.source.config" | "language.source.default" | "language.available" | "language.unknown" | "language.saveFailed" | "language.help.title" | "language.help.usage.list" | "language.help.usage.set" | "language.help.body" | "language.help.override" | "word.usage" | "word.options" | "word.commands" | "word.next" | "word.examples" | "help.title" | "help.usage.main" | "help.command.guide" | "help.command.options" | "help.command.language" | "help.command.login" | "help.command.logout" | "help.command.whoami" | "help.command.new" | "help.command.init" | "help.command.dev" | "help.command.doctor" | "help.command.update" | "help.command.createInput" | "help.command.examples" | "help.command.agent" | "help.command.scan" | "help.command.project" | "project.help.usage" | "project.help.body" | "project.help.env" | "project.help.auth" | "project.error.unknownSubcommand" | "project.error.nameRequired" | "project.created" | "project.keyWritten" | "project.keyOnce" | "project.keyRule" | "cloud.warning.clientTree" | "scan.help.usage" | "scan.help.body" | "scan.help.privacy" | "scan.help.json" | "scan.error.missingPath" | "help.startHere" | "guide.title" | "guide.intro" | "guide.path.webIos" | "guide.path.webOwned" | "guide.path.svelteIos" | "guide.path.desktop" | "guide.path.ownIos" | "guide.note.keys" | "guide.note.provisioning" | "guide.note.offline" | "options.title" | "options.machineReadable" | "options.help.body" | "field.appName" | "field.target" | "field.sender" | "field.sdk" | "field.preset" | "field.packageManager" | "field.apiBaseUrl" | "field.project" | "field.folder" | "field.sdkShort" | "field.sender.helper" | "field.sdk.helper" | "field.appName.error" | "field.appName.preview" | "choice.target.web.label" | "choice.target.web.summary" | "choice.target.web.explanation" | "choice.target.web.docs" | "choice.target.desktop.label" | "choice.target.desktop.summary" | "choice.target.desktop.explanation" | "choice.target.desktop.docs" | "choice.target.ios.label" | "choice.target.ios.summary" | "choice.target.ios.explanation" | "choice.target.ios.docs" | "choice.target.headless.label" | "choice.target.headless.summary" | "choice.target.headless.explanation" | "choice.target.headless.docs" | "choice.sender.remotedrawIos.label" | "choice.sender.remotedrawIos.hint.scan" | "choice.sender.remotedrawIos.hint.joinUrl" | "choice.sender.remotedrawIos.summary" | "choice.sender.remotedrawIos.explanation" | "choice.sender.remotedrawIos.docs" | "choice.sender.embeddedWeb.label" | "choice.sender.embeddedWeb.hint" | "choice.sender.embeddedWeb.summary" | "choice.sender.embeddedWeb.explanation" | "choice.sender.embeddedWeb.docs" | "choice.sender.ownIos.label" | "choice.sender.ownIos.hint" | "choice.sender.ownIos.summary" | "choice.sender.ownIos.explanation" | "choice.sender.ownIos.docs" | "choice.sender.headless.label" | "choice.sender.headless.hint.noUi" | "choice.sender.headless.hint.httpRoutes" | "choice.sender.headless.summary" | "choice.sender.headless.explanation" | "choice.sender.headless.docs" | "choice.sdk.react.label" | "choice.sdk.react.hint" | "choice.sdk.react.summary" | "choice.sdk.react.explanation" | "choice.sdk.react.docs" | "choice.sdk.svelte.label" | "choice.sdk.svelte.hint" | "choice.sdk.svelte.summary" | "choice.sdk.svelte.explanation" | "choice.sdk.svelte.docs" | "choice.sdk.js.label.client" | "choice.sdk.js.label.noFramework" | "choice.sdk.js.hint.client" | "choice.sdk.js.hint.noFramework" | "choice.sdk.js.summary" | "choice.sdk.js.explanation" | "choice.sdk.js.docs" | "choice.sdk.swift.label" | "choice.sdk.swift.hint" | "choice.sdk.swift.summary" | "choice.sdk.swift.explanation" | "choice.sdk.swift.docs" | "choice.sdk.headless.label" | "choice.sdk.headless.hint" | "choice.sdk.headless.summary" | "choice.sdk.headless.explanation" | "choice.sdk.headless.docs" | "choice.preset.approval.summary" | "choice.preset.approval.explanation" | "choice.preset.approval.docs" | "choice.preset.sketch.label" | "choice.preset.sketch.hint" | "choice.preset.sketch.summary" | "choice.preset.sketch.explanation" | "choice.preset.sketch.docs" | "choice.preset.photoMarkup.summary" | "choice.preset.photoMarkup.explanation" | "choice.preset.photoMarkup.docs" | "choice.preset.pdfMarkup.summary" | "choice.preset.pdfMarkup.explanation" | "choice.preset.pdfMarkup.docs" | "choice.preset.mapMarkup.summary" | "choice.preset.mapMarkup.explanation" | "choice.preset.mapMarkup.docs" | "choice.preset.screenMarkup.label" | "choice.preset.screenMarkup.hint" | "choice.preset.screenMarkup.summary" | "choice.preset.screenMarkup.explanation" | "choice.preset.screenMarkup.docs" | "choice.preset.designReview.summary" | "choice.preset.designReview.explanation" | "choice.preset.designReview.docs" | "choice.preset.pointer.summary" | "choice.preset.pointer.explanation" | "choice.preset.pointer.docs" | "choice.packageManager.npm.summary" | "choice.packageManager.npm.explanation" | "choice.packageManager.npm.docs" | "choice.packageManager.pnpm.summary" | "choice.packageManager.pnpm.explanation" | "choice.packageManager.pnpm.docs" | "choice.packageManager.yarn.summary" | "choice.packageManager.yarn.explanation" | "choice.packageManager.yarn.docs" | "choice.packageManager.bun.summary" | "choice.packageManager.bun.explanation" | "choice.packageManager.bun.docs" | "wizard.title.setup" | "wizard.title.review" | "wizard.title.confirm" | "wizard.title.executing" | "wizard.title.success" | "wizard.title.error" | "wizard.title.interrupted" | "wizard.title.cancelled" | "wizard.confirm.no" | "wizard.confirm.yes" | "wizard.hint.replaceDefault" | "wizard.hint.edit" | "wizard.control.next" | "wizard.control.back" | "wizard.control.quitCtrlC" | "wizard.control.quitQ" | "wizard.control.steps" | "wizard.control.choose" | "wizard.control.docs" | "wizard.control.forward" | "wizard.control.backArrow" | "wizard.control.confirm" | "wizard.progress.step" | "wizard.card.help" | "wizard.card.summary" | "wizard.value.default" | "wizard.executing.detail" | "wizard.created.at" | "wizard.next.command" | "wizard.docs.line" | "wizard.tagline.setup" | "wizard.tagline" | "wizard.docs.openFailed" | "new.help.usage.bare" | "new.help.usage.named" | "new.help.interactive" | "new.help.option.path" | "new.help.option.target" | "new.help.option.sender" | "new.help.option.sdk" | "new.help.option.preset" | "new.help.option.packageManager" | "new.help.option.apiBaseUrl" | "new.help.option.force" | "new.help.option.offline" | "new.help.option.nonInteractive" | "new.help.option.format" | "new.help.option.dryRun" | "new.help.option.language" | "init.help.usage" | "init.help.body" | "prompt.control.move" | "prompt.control.select" | "prompt.control.quit" | "prompt.intro.setup" | "scaffold.verb.created" | "scaffold.verb.initialized" | "scaffold.verb.installedExample" | "scaffold.headline" | "scaffold.choices" | "scaffold.choice.app" | "scaffold.choice.sdk" | "scaffold.choice.sender" | "scaffold.choice.starter" | "scaffold.wrote" | "scaffold.wouldWrite" | "scaffold.next.install" | "scaffold.next.secrets" | "scaffold.next.createInput" | "scaffold.next.render" | "cloud.skipped" | "cloud.dashboardProject" | "cloud.devKey" | "cloud.projectId" | "cloud.warning.placeholder" | "cloud.warning.offline" | "cloud.warning.dryRun" | "login.already" | "login.complete" | "login.credential" | "login.help.title" | "login.help.usage" | "login.help.body" | "logout.done" | "logout.none" | "logout.help.title" | "logout.help.usage" | "whoami.notLoggedIn" | "whoami.api" | "whoami.anonymous" | "whoami.help.title" | "whoami.help.usage" | "doctor.title" | "doctor.config.ok" | "doctor.config.missing" | "doctor.package.ok" | "doctor.package.missing" | "doctor.sdk.ok" | "doctor.sdk.missing" | "doctor.apiKey.ok" | "doctor.apiKey.missing" | "doctor.label.deployment" | "doctor.label.deploymentReachable" | "doctor.label.apiKeyAccepted" | "doctor.label.cliVersion" | "doctor.network.offline" | "doctor.network.noOrigin" | "doctor.health.ok" | "doctor.health.failed" | "doctor.key.skippedNoKey" | "doctor.key.skippedNoHealth" | "doctor.key.liveOne" | "doctor.key.liveMany" | "doctor.version.offline" | "doctor.version.unknown" | "doctor.version.stale" | "doctor.version.latest" | "doctor.probe.noNetwork" | "doctor.probe.noNetworkKey" | "doctor.probe.nonJson" | "doctor.probe.rejected" | "doctor.baseUrl.placeholder" | "doctor.baseUrl.invalid" | "doctor.baseUrl.default" | "doctor.baseUrl.production" | "doctor.baseUrl.override" | "doctor.baseUrl.origin.flag" | "doctor.baseUrl.origin.project" | "doctor.help.usage" | "doctor.help.checks" | "doctor.help.baseUrl" | "doctor.help.network" | "doctor.help.version" | "doctor.help.offline" | "update.unreachable" | "update.alreadyLatest" | "update.available" | "update.ephemeral" | "update.runToInstall" | "update.availableRun" | "update.failed" | "update.done" | "update.help.usage" | "update.help.body" | "update.help.global" | "update.help.check" | "update.help.silence" | "dev.title" | "dev.apiBaseUrl" | "dev.hosted" | "dev.step1" | "dev.step1.detail" | "dev.step2" | "dev.step3" | "dev.step3.detail" | "dev.help.usage" | "dev.help.body" | "createInput.title" | "createInput.warning" | "createInput.footer" | "createInput.error.noFetch" | "createInput.error.noKey" | "createInput.error.apiStatus" | "createInput.help.usage" | "createInput.help.option.preset" | "createInput.help.option.label" | "createInput.help.option.externalId" | "createInput.help.option.apiBaseUrl" | "createInput.help.option.apiKey" | "createInput.help.option.expiresInMs" | "examples.title" | "examples.reactIos" | "examples.reactOwnedSender" | "examples.rawHttp" | "examples.iosOwnedSender" | "examples.installOne" | "examples.help.usage.list" | "examples.help.usage.install" | "agent.title" | "agent.intro" | "agent.printSkill" | "agent.installSkill" | "agent.wouldWrite" | "agent.installed" | "agent.next" | "agent.error.exists" | "agent.help.usage.bare" | "agent.help.usage.print" | "agent.help.usage.install" | "agent.help.paths" | "agent.help.body" | "cloud.authorize" | "cloud.browserOpened" | "cloud.browserFailed" | "cloud.error.notLoggedIn" | "cloud.error.authStatus" | "cloud.error.authExpired" | "cloud.error.noFetch" | "cloud.error.unreachable" | "cloud.error.endpointMissing" | "cloud.error.invalidResponse" | "cloud.error.requestFailed" | "cloud.error.badOrigin" | "cloud.error.configUnreadable" | "cloud.error.envConflict" | "notice.update.available" | "notice.update.ephemeral" | "notice.update.install" | "error.appNameRequired" | "error.plan.ownIosNeedsSwift" | "error.plan.swiftNeedsOwnIos" | "error.plan.iosNeedsOwnIos" | "error.plan.headlessSenderSdk" | "error.unknownChoice" | "error.refuseOverwrite" | "error.expectedHttpOrigin" | "error.expectedBareOrigin" | "error.noHome" | "error.unknownCommand" | "error.unsupportedOption" | "error.optionNoValue" | "error.optionNeedsValue" | "error.expiresInMs" | "error.interactiveNeedsTty" | "error.noChoices" | "error.httpsDocsOnly" | "error.httpUrlsOnly", string>>;
|
|
423
438
|
};
|
|
424
439
|
};
|
|
425
440
|
export type Locale = keyof typeof LOCALES;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/locales/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAC7B,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAG7B,YAAY,EAAE,aAAa,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE/E;;;;;;GAMG;AACH,eAAO,MAAM,OAAO
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/locales/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAC7B,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAG7B,YAAY,EAAE,aAAa,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE/E;;;;;;GAMG;AACH,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAawB,CAAC;AAE7C,MAAM,MAAM,MAAM,GAAG,MAAM,OAAO,OAAO,CAAC;AAE1C,6EAA6E;AAC7E,eAAO,MAAM,aAAa,EAAE,MAAa,CAAC;AAE1C,eAAO,MAAM,iBAAiB,EAA2B,MAAM,EAAE,CAAC;AAElE,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC"}
|
package/dist/locales/nl.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nl.d.ts","sourceRoot":"","sources":["../../src/locales/nl.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAElD;;;;;;GAMG;AACH,eAAO,MAAM,EAAE,EAAE,
|
|
1
|
+
{"version":3,"file":"nl.d.ts","sourceRoot":"","sources":["../../src/locales/nl.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAElD;;;;;;GAMG;AACH,eAAO,MAAM,EAAE,EAAE,aA2mBhB,CAAC"}
|
package/dist/locales/nl.js
CHANGED
|
@@ -8,7 +8,6 @@
|
|
|
8
8
|
export const nl = {
|
|
9
9
|
// ── Taalkeuze ─────────────────────────────────────────────────────────
|
|
10
10
|
"language.word": "Taal",
|
|
11
|
-
"language.prompt.helper": "Stelt de taal van de RemoteDraw-CLI in. Gegenereerde code en bestanden blijven Engels.",
|
|
12
11
|
"language.saved": "Taal ingesteld op {language}. Wijzig dit wanneer je wilt met: remotedraw language",
|
|
13
12
|
"language.current": "Taal: {language} ({locale})",
|
|
14
13
|
"language.source.flag": "Voor deze opdracht ingesteld met --language.",
|
|
@@ -46,6 +45,24 @@ export const nl = {
|
|
|
46
45
|
"help.command.createInput": "Maak of toon een testverzoek voor tekeninvoer.",
|
|
47
46
|
"help.command.examples": "Toon of installeer voorbeeldprojecten.",
|
|
48
47
|
"help.command.agent": "Toon of installeer de RemoteDraw-agentskill.",
|
|
48
|
+
"help.command.scan": "Lees een codebase en stel voor waar RemoteDraw past.",
|
|
49
|
+
"help.command.project": "Maak een dashboardproject en API-sleutel zonder starterscode.",
|
|
50
|
+
"project.help.usage": " remotedraw project create --name <naam> [--key-name <naam>] [--env <map>] [--format json]",
|
|
51
|
+
"project.help.body": "Maakt een dashboardproject en een projectgebonden ontwikkel-API-sleutel. Er wordt niets gescaffold; gebruik dit als de integratie haar bestanden al heeft.",
|
|
52
|
+
"project.help.env": "Geef --env <map> op om REMOTEDRAW_API_BASE_URL, REMOTEDRAW_PROJECT_ID en REMOTEDRAW_API_KEY naar <map>/.env.local te schrijven in plaats van de sleutel te tonen.",
|
|
53
|
+
"project.help.auth": "Vereist een ingelogde CLI (remotedraw login) of REMOTEDRAW_CLI_TOKEN.",
|
|
54
|
+
"project.error.unknownSubcommand": "Onbekend project-subcommando: {subcommand}. Verwacht: create.",
|
|
55
|
+
"project.error.nameRequired": "--name is verplicht voor project create.",
|
|
56
|
+
"project.created": "Project {name} ({id}) aangemaakt.",
|
|
57
|
+
"project.keyWritten": "API-sleutel geschreven naar {path}.",
|
|
58
|
+
"project.keyOnce": "API-sleutel (eenmalig getoond): {key}",
|
|
59
|
+
"project.keyRule": "Bewaar rd_sk_...-sleutels uitsluitend in backend-secrets; nooit in browserbundels, mobiele apps of versiebeheer.",
|
|
60
|
+
"cloud.warning.clientTree": "src/remotedraw/createRemoteDrawSession.ts leest REMOTEDRAW_API_KEY en moet server-side draaien. Verplaats het naar je API-route, server action, Convex action of serverless functie voordat je het gebruikt; een browserbundel mag het nooit importeren.",
|
|
61
|
+
"scan.help.usage": " remotedraw scan [--path <map>] [--format json]",
|
|
62
|
+
"scan.help.body": "Herkent web-, server- en iOS-projecten, bestaande RemoteDraw-koppelingen en waar een rd_sk_-sleutel mag staan; toont daarna integratieopties en de productvragen die je de gebruiker stelt voordat je bouwt.",
|
|
63
|
+
"scan.help.privacy": "Leest alleen manifesten en bestandsnamen. Toont namen van omgevingsvariabelen, nooit waarden.",
|
|
64
|
+
"scan.help.json": "Gebruik --format json voor het machineleesbare rapport dat agents moeten lezen.",
|
|
65
|
+
"scan.error.missingPath": "Pad bestaat niet: {path}",
|
|
49
66
|
"help.startHere": "Begin hier:",
|
|
50
67
|
// ── guide ─────────────────────────────────────────────────────────────
|
|
51
68
|
"guide.title": "RemoteDraw-integratiegids",
|
|
@@ -204,7 +221,6 @@ export const nl = {
|
|
|
204
221
|
"wizard.control.back": "Esc terug",
|
|
205
222
|
"wizard.control.quitCtrlC": "Ctrl+C stoppen",
|
|
206
223
|
"wizard.control.quitQ": "q stoppen",
|
|
207
|
-
"wizard.control.move": "↑/↓ bewegen",
|
|
208
224
|
"wizard.control.steps": "←/→ stappen",
|
|
209
225
|
"wizard.control.choose": "↑/↓ kiezen",
|
|
210
226
|
"wizard.control.docs": "d docs openen",
|
|
@@ -222,7 +238,6 @@ export const nl = {
|
|
|
222
238
|
"wizard.tagline.setup": "telefoon → canvas · projectsetup",
|
|
223
239
|
"wizard.tagline": "telefoon → canvas",
|
|
224
240
|
"wizard.docs.openFailed": "Kon de documentatie niet openen. Gebruik {url}",
|
|
225
|
-
"wizard.docs.button": "[ {label} ↗ ]",
|
|
226
241
|
// ── new / init ────────────────────────────────────────────────────────
|
|
227
242
|
"new.help.usage.bare": " remotedraw new",
|
|
228
243
|
"new.help.usage.named": " remotedraw new --app-name <naam> [opties]",
|
|
@@ -294,7 +309,7 @@ export const nl = {
|
|
|
294
309
|
"doctor.sdk.ok": "{package} staat in de dependencies van package.json.",
|
|
295
310
|
"doctor.sdk.missing": "Voeg {package}@{range} toe aan de dependencies of voer remotedraw init opnieuw uit.",
|
|
296
311
|
"doctor.apiKey.ok": "De vorm van de server-API-sleutel klopt.",
|
|
297
|
-
"doctor.apiKey.missing": "
|
|
312
|
+
"doctor.apiKey.missing": "Geen rd_sk_...-sleutel gevonden in de omgeving van dit project (REMOTEDRAW_API_KEY). Bewaar die, zodra je er een toevoegt, uitsluitend in backend-secrets.",
|
|
298
313
|
"doctor.label.deployment": "deployment",
|
|
299
314
|
"doctor.label.deploymentReachable": "deployment bereikbaar",
|
|
300
315
|
"doctor.label.apiKeyAccepted": "API-sleutel geaccepteerd",
|
package/dist/scan.d.ts
ADDED
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
export type ScanRuntime = {
|
|
2
|
+
cwd: string;
|
|
3
|
+
exists: (filePath: string) => boolean | Promise<boolean>;
|
|
4
|
+
readFile: (filePath: string) => Promise<string>;
|
|
5
|
+
readdir?: (dirPath: string) => Promise<string[]>;
|
|
6
|
+
};
|
|
7
|
+
export type ScanProjectKind = "web" | "server" | "ios" | "library" | "unknown";
|
|
8
|
+
export type ScanProject = {
|
|
9
|
+
/** Directory relative to the scan root; `.` for the root itself. */
|
|
10
|
+
path: string;
|
|
11
|
+
name?: string;
|
|
12
|
+
kind: ScanProjectKind;
|
|
13
|
+
/** Framework and runtime signals, deduplicated, stable order. */
|
|
14
|
+
frameworks: string[];
|
|
15
|
+
/** Human-readable proof for every claim above, so the agent can verify. */
|
|
16
|
+
evidence: string[];
|
|
17
|
+
/** For web projects: whether server-side code was found *inside* them. */
|
|
18
|
+
serverSide?: string[];
|
|
19
|
+
};
|
|
20
|
+
export type ScanRecommendation = {
|
|
21
|
+
id: string;
|
|
22
|
+
title: string;
|
|
23
|
+
fit: "strong" | "possible";
|
|
24
|
+
receiver: string;
|
|
25
|
+
sender: string;
|
|
26
|
+
keyLocation: string;
|
|
27
|
+
why: string;
|
|
28
|
+
commands: string[];
|
|
29
|
+
packages: string[];
|
|
30
|
+
};
|
|
31
|
+
export type ScanReport = {
|
|
32
|
+
ok: true;
|
|
33
|
+
command: "scan";
|
|
34
|
+
schemaVersion: 1;
|
|
35
|
+
root: string;
|
|
36
|
+
projects: ScanProject[];
|
|
37
|
+
remotedraw: {
|
|
38
|
+
configured: boolean;
|
|
39
|
+
configFiles: string[];
|
|
40
|
+
packages: string[];
|
|
41
|
+
envKeys: string[];
|
|
42
|
+
swiftPackage: boolean;
|
|
43
|
+
};
|
|
44
|
+
keyBoundary: {
|
|
45
|
+
/** Directories where an `rd_sk_` key may live. Empty means "none found". */
|
|
46
|
+
serverSide: string[];
|
|
47
|
+
warning?: string;
|
|
48
|
+
};
|
|
49
|
+
recommendations: ScanRecommendation[];
|
|
50
|
+
/** Product decisions the agent must ask the user, not decide. */
|
|
51
|
+
questions: string[];
|
|
52
|
+
/** Hard rules for whatever the agent builds next. */
|
|
53
|
+
rules: string[];
|
|
54
|
+
};
|
|
55
|
+
export declare function scanProject(root: string, runtime: ScanRuntime): Promise<ScanReport>;
|
|
56
|
+
export declare const INTEGRATION_RULES: string[];
|
|
57
|
+
export declare function renderScanText(report: ScanReport): string;
|
|
58
|
+
//# sourceMappingURL=scan.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scan.d.ts","sourceRoot":"","sources":["../src/scan.ts"],"names":[],"mappings":"AAiBA,MAAM,MAAM,WAAW,GAAG;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACzD,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAChD,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;CAClD,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,KAAK,GAAG,QAAQ,GAAG,KAAK,GAAG,SAAS,GAAG,SAAS,CAAC;AAE/E,MAAM,MAAM,WAAW,GAAG;IACxB,oEAAoE;IACpE,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,eAAe,CAAC;IACtB,iEAAiE;IACjE,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,2EAA2E;IAC3E,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,0EAA0E;IAC1E,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,QAAQ,GAAG,UAAU,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,EAAE,EAAE,IAAI,CAAC;IACT,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,CAAC,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,UAAU,EAAE;QACV,UAAU,EAAE,OAAO,CAAC;QACpB,WAAW,EAAE,MAAM,EAAE,CAAC;QACtB,QAAQ,EAAE,MAAM,EAAE,CAAC;QACnB,OAAO,EAAE,MAAM,EAAE,CAAC;QAClB,YAAY,EAAE,OAAO,CAAC;KACvB,CAAC;IACF,WAAW,EAAE;QACX,4EAA4E;QAC5E,UAAU,EAAE,MAAM,EAAE,CAAC;QACrB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,eAAe,EAAE,kBAAkB,EAAE,CAAC;IACtC,iEAAiE;IACjE,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,qDAAqD;IACrD,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB,CAAC;AAoPF,wBAAsB,WAAW,CAC/B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,UAAU,CAAC,CA4JrB;AA4HD,eAAO,MAAM,iBAAiB,UAS7B,CAAC;AAEF,wBAAgB,cAAc,CAAC,MAAM,EAAE,UAAU,UA6ChD"}
|