eve 0.45.0 → 0.45.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.
- package/CHANGELOG.md +9 -0
- package/dist/src/chunks/{use-eve-agent-OtHRoxIS.js → use-eve-agent-BH7Z6SDu.js} +13 -1
- package/dist/src/chunks/{use-eve-agent-C46Kan_I.js → use-eve-agent-DI2j5XK8.js} +13 -1
- package/dist/src/cli/commands/integration-connect.d.ts +2 -0
- package/dist/src/cli/commands/integration-connect.js +1 -1
- package/dist/src/cli/commands/register-integration-commands.js +1 -1
- package/dist/src/client/agent-info-schema.d.ts +191 -2
- package/dist/src/client/agent-info-schema.js +1 -1
- package/dist/src/client/types.d.ts +1 -1
- package/dist/src/compiler/extension-compatibility.d.ts +4 -4
- package/dist/src/compiler/extension-compatibility.js +1 -1
- package/dist/src/compiler/load-binding-namespace.js +1 -1
- package/dist/src/compiler/manifest.d.ts +10 -0
- package/dist/src/compiler/manifest.js +1 -1
- package/dist/src/compiler/module-map.js +1 -1
- package/dist/src/compiler/normalize-helpers.d.ts +2 -1
- package/dist/src/compiler/normalize-manifest.js +1 -1
- package/dist/src/compiler/normalize-memory.d.ts +5 -0
- package/dist/src/compiler/normalize-memory.js +1 -0
- package/dist/src/compiler/normalize-tool.js +1 -1
- package/dist/src/compiler/project-sources.d.ts +3 -4
- package/dist/src/compiler/project-sources.js +1 -1
- package/dist/src/compiler/source-graph.d.ts +2 -0
- package/dist/src/compiler/source-graph.js +1 -1
- package/dist/src/compiler/validate-artifact.js +1 -1
- package/dist/src/context/dynamic-tool-lifecycle.d.ts +8 -1
- package/dist/src/context/dynamic-tool-lifecycle.js +1 -1
- package/dist/src/context/keys.d.ts +25 -0
- package/dist/src/context/keys.js +1 -1
- package/dist/src/context/memory-event-lifecycle.d.ts +13 -0
- package/dist/src/context/memory-event-lifecycle.js +1 -0
- package/dist/src/context/memory-lifecycle.d.ts +52 -0
- package/dist/src/context/memory-lifecycle.js +1 -0
- package/dist/src/context/memory-tools.d.ts +12 -0
- package/dist/src/context/memory-tools.js +1 -0
- package/dist/src/discover/discover-agent.js +1 -1
- package/dist/src/discover/discover-subagent.js +1 -1
- package/dist/src/discover/extensions.d.ts +6 -0
- package/dist/src/discover/extensions.js +1 -1
- package/dist/src/discover/filesystem.d.ts +2 -2
- package/dist/src/discover/filesystem.js +1 -1
- package/dist/src/discover/manifest.d.ts +6 -1
- package/dist/src/discover/manifest.js +1 -1
- package/dist/src/discover/memory.d.ts +14 -0
- package/dist/src/discover/memory.js +1 -0
- package/dist/src/discover/project.js +1 -1
- package/dist/src/evals/cli/eval.js +1 -1
- package/dist/src/evals/target.js +1 -1
- package/dist/src/execution/history-view.d.ts +2 -2
- package/dist/src/execution/history-view.js +1 -1
- package/dist/src/execution/tools/connection-search.js +2 -2
- package/dist/src/execution/workflow-steps.d.ts +1 -3
- package/dist/src/execution/workflow-steps.js +1 -1
- package/dist/src/framework/sources/modules/memory-wrapper.d.ts +2 -0
- package/dist/src/framework/sources/modules/memory-wrapper.js +1 -0
- package/dist/src/framework/sources/registry.d.ts +1 -0
- package/dist/src/framework/sources/registry.js +1 -1
- package/dist/src/harness/emission.d.ts +1 -1
- package/dist/src/harness/emission.js +1 -1
- package/dist/src/harness/tool-loop.js +2 -2
- package/dist/src/harness/tools.js +1 -1
- package/dist/src/internal/application/package.js +1 -1
- package/dist/src/internal/authored-definition/memory.d.ts +2 -0
- package/dist/src/internal/authored-definition/memory.js +1 -0
- package/dist/src/internal/authored-definition/schema-backed.d.ts +1 -0
- package/dist/src/internal/authored-definition/schema-backed.js +1 -1
- package/dist/src/internal/authored-module-map-loader.js +1 -1
- package/dist/src/internal/dynamic-tool-rebind.d.ts +3 -0
- package/dist/src/internal/dynamic-tool-rebind.js +1 -0
- package/dist/src/internal/nitro/routes/agent-info/build-agent-info-response.d.ts +1 -1
- package/dist/src/internal/nitro/routes/agent-info/build-agent-info-response.js +1 -1
- package/dist/src/internal/nitro/routes/index.js +1 -0
- package/dist/src/internal/programmatic-source-loader.d.ts +1 -0
- package/dist/src/internal/programmatic-source-loader.js +1 -1
- package/dist/src/public/memory/index.d.ts +117 -0
- package/dist/src/public/memory/index.js +1 -0
- package/dist/src/public/memory/scope.d.ts +2 -0
- package/dist/src/public/memory/scope.js +1 -0
- package/dist/src/runtime/resolve-agent.js +1 -1
- package/dist/src/runtime/resolve-dynamic-tool.d.ts +1 -0
- package/dist/src/runtime/resolve-dynamic-tool.js +1 -1
- package/dist/src/runtime/resolve-memory.d.ts +4 -0
- package/dist/src/runtime/resolve-memory.js +1 -0
- package/dist/src/runtime/types.d.ts +7 -0
- package/dist/src/setup/connection-connector.d.ts +2 -0
- package/dist/src/setup/connection-connector.js +1 -1
- package/dist/src/setup/scaffold/create/project.js +1 -1
- package/dist/src/setup/scaffold/create/web-template.d.ts +2 -0
- package/dist/src/setup/scaffold/create/web-template.js +28 -0
- package/dist/src/shared/memory-definition.d.ts +2 -0
- package/dist/src/shared/memory-definition.js +1 -0
- package/dist/src/shared/memory-state.d.ts +55 -0
- package/dist/src/shared/memory-state.js +1 -0
- package/dist/src/svelte/index.js +1 -1
- package/dist/src/svelte/use-eve-agent.js +1 -1
- package/dist/src/vue/index.js +1 -1
- package/dist/src/vue/use-eve-agent.js +1 -1
- package/docs/channels/eve.mdx +1 -1
- package/docs/concepts/context-control.md +7 -0
- package/docs/concepts/default-harness.md +8 -0
- package/docs/concepts/sessions-runs-and-streaming.md +3 -3
- package/docs/concepts/state.md +8 -1
- package/docs/extensions.md +6 -2
- package/docs/guides/client/overview.mdx +2 -2
- package/docs/guides/dynamic-capabilities.md +3 -2
- package/docs/memory.md +255 -0
- package/docs/meta.json +1 -0
- package/docs/patterns/multi-tenant-memory.md +108 -136
- package/package.json +11 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,14 @@
|
|
|
1
1
|
# eve
|
|
2
2
|
|
|
3
|
+
## 0.45.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- a3a5ddd: Show the eve favicon in browser tabs for the default deployed app and generated Web Chat apps. Web Chat scaffolds also include an Apple touch icon.
|
|
8
|
+
- 5664cc0: Add first-class path-authored memory providers with scoped recall, capture, replayable provider tools, and compaction-safe recalled context.
|
|
9
|
+
- b55d036: Agentcard setup now uses the correct MCP discovery and creation identifiers, then writes the selected connector into the installed connection template.
|
|
10
|
+
- fdba4e0: Scope every extension contribution through one mount-namespace policy so multiple extensions can contribute flat `instructions.md` files without collisions. Extension-owned agent singleton slots such as instrumentation are now rejected during discovery.
|
|
11
|
+
|
|
3
12
|
## 0.45.0
|
|
4
13
|
|
|
5
14
|
### Minor Changes
|
|
@@ -106,8 +106,10 @@ const moduleBacking = z.discriminatedUnion("kind", [z.object({
|
|
|
106
106
|
kind: z.literal("filesystem"),
|
|
107
107
|
sourcePath: z.string()
|
|
108
108
|
}).strict(), z.object({
|
|
109
|
+
dependencies: z.record(z.string(), z.string()).optional(),
|
|
109
110
|
kind: z.literal("programmatic"),
|
|
110
111
|
moduleId: z.string(),
|
|
112
|
+
parameters: z.record(z.string(), z.unknown()).optional(),
|
|
111
113
|
registryId: z.string(),
|
|
112
114
|
revision: z.string(),
|
|
113
115
|
semanticRevision: z.string().optional()
|
|
@@ -241,6 +243,7 @@ const sourceDescriptor = z.object({
|
|
|
241
243
|
kind: z.literal("resource"),
|
|
242
244
|
sourcePath: z.string()
|
|
243
245
|
}).strict()]),
|
|
246
|
+
form: z.enum(["derived", "direct"]),
|
|
244
247
|
layer: z.enum([
|
|
245
248
|
"framework-default",
|
|
246
249
|
"extension-package",
|
|
@@ -271,6 +274,11 @@ const hook = source.extend({
|
|
|
271
274
|
eventNames: z.array(z.string()),
|
|
272
275
|
slug: z.string()
|
|
273
276
|
}).strict();
|
|
277
|
+
const memory = source.extend({
|
|
278
|
+
description: z.string().optional(),
|
|
279
|
+
slot: z.string(),
|
|
280
|
+
visibility: z.enum(["scope", "session"])
|
|
281
|
+
}).strict();
|
|
274
282
|
const sandbox = source.extend({
|
|
275
283
|
backendKind: z.string().optional(),
|
|
276
284
|
description: z.string().optional(),
|
|
@@ -291,6 +299,7 @@ const subagent = entry.extend({
|
|
|
291
299
|
connections: z.number(),
|
|
292
300
|
hooks: z.number(),
|
|
293
301
|
instructions: z.number(),
|
|
302
|
+
memories: z.number(),
|
|
294
303
|
schedules: z.number(),
|
|
295
304
|
skills: z.number(),
|
|
296
305
|
tools: z.number()
|
|
@@ -370,6 +379,7 @@ const AgentInfoResultSchema = z.object({
|
|
|
370
379
|
instrumentation: source.optional(),
|
|
371
380
|
kernelEffects: z.array(kernelEffect),
|
|
372
381
|
kind: z.literal("eve-agent-info"),
|
|
382
|
+
memories: z.array(memory),
|
|
373
383
|
mode: z.enum(["development", "production"]),
|
|
374
384
|
remoteAgents: z.object({
|
|
375
385
|
entries: z.array(remoteAgent),
|
|
@@ -389,7 +399,7 @@ const AgentInfoResultSchema = z.object({
|
|
|
389
399
|
dynamic: z.array(dynamicResolver),
|
|
390
400
|
static: z.array(tool)
|
|
391
401
|
}).strict(),
|
|
392
|
-
version: z.literal(
|
|
402
|
+
version: z.literal(4),
|
|
393
403
|
workflow,
|
|
394
404
|
workspace: z.object({
|
|
395
405
|
resourceRoot: z.unknown(),
|
|
@@ -424,6 +434,7 @@ const AgentInfoResultSchema = z.object({
|
|
|
424
434
|
assertUnique(value.schedules, (entry) => entry.name, ["schedules"]);
|
|
425
435
|
assertUnique(value.connections, (entry) => entry.connectionName, ["connections"]);
|
|
426
436
|
assertUnique(value.hooks, (entry) => entry.slug, ["hooks"]);
|
|
437
|
+
assertUnique(value.memories, (entry) => entry.slot, ["memories"]);
|
|
427
438
|
assertUnique(value.channels.routes, (entry) => `${entry.method} ${normalizeRoutePattern(entry.urlPath)}`, ["channels", "routes"]);
|
|
428
439
|
assertUnique(value.subagents.local, (entry) => entry.nodeId, ["subagents", "local"]);
|
|
429
440
|
assertUnique(value.remoteAgents.entries, (entry) => entry.nodeId, ["remoteAgents", "entries"]);
|
|
@@ -459,6 +470,7 @@ const AgentInfoResultSchema = z.object({
|
|
|
459
470
|
"static",
|
|
460
471
|
index
|
|
461
472
|
]]),
|
|
473
|
+
...value.memories.map((entry, index) => [entry, ["memories", index]]),
|
|
462
474
|
...value.instrumentation === void 0 ? [] : [[value.instrumentation, ["instrumentation"]]],
|
|
463
475
|
...value.remoteAgents.entries.map((entry, index) => [entry, [
|
|
464
476
|
"remoteAgents",
|
|
@@ -106,8 +106,10 @@ const moduleBacking = z.discriminatedUnion("kind", [z.object({
|
|
|
106
106
|
kind: z.literal("filesystem"),
|
|
107
107
|
sourcePath: z.string()
|
|
108
108
|
}).strict(), z.object({
|
|
109
|
+
dependencies: z.record(z.string(), z.string()).optional(),
|
|
109
110
|
kind: z.literal("programmatic"),
|
|
110
111
|
moduleId: z.string(),
|
|
112
|
+
parameters: z.record(z.string(), z.unknown()).optional(),
|
|
111
113
|
registryId: z.string(),
|
|
112
114
|
revision: z.string(),
|
|
113
115
|
semanticRevision: z.string().optional()
|
|
@@ -241,6 +243,7 @@ const sourceDescriptor = z.object({
|
|
|
241
243
|
kind: z.literal("resource"),
|
|
242
244
|
sourcePath: z.string()
|
|
243
245
|
}).strict()]),
|
|
246
|
+
form: z.enum(["derived", "direct"]),
|
|
244
247
|
layer: z.enum([
|
|
245
248
|
"framework-default",
|
|
246
249
|
"extension-package",
|
|
@@ -271,6 +274,11 @@ const hook = source.extend({
|
|
|
271
274
|
eventNames: z.array(z.string()),
|
|
272
275
|
slug: z.string()
|
|
273
276
|
}).strict();
|
|
277
|
+
const memory = source.extend({
|
|
278
|
+
description: z.string().optional(),
|
|
279
|
+
slot: z.string(),
|
|
280
|
+
visibility: z.enum(["scope", "session"])
|
|
281
|
+
}).strict();
|
|
274
282
|
const sandbox = source.extend({
|
|
275
283
|
backendKind: z.string().optional(),
|
|
276
284
|
description: z.string().optional(),
|
|
@@ -291,6 +299,7 @@ const subagent = entry.extend({
|
|
|
291
299
|
connections: z.number(),
|
|
292
300
|
hooks: z.number(),
|
|
293
301
|
instructions: z.number(),
|
|
302
|
+
memories: z.number(),
|
|
294
303
|
schedules: z.number(),
|
|
295
304
|
skills: z.number(),
|
|
296
305
|
tools: z.number()
|
|
@@ -370,6 +379,7 @@ const AgentInfoResultSchema = z.object({
|
|
|
370
379
|
instrumentation: source.optional(),
|
|
371
380
|
kernelEffects: z.array(kernelEffect),
|
|
372
381
|
kind: z.literal("eve-agent-info"),
|
|
382
|
+
memories: z.array(memory),
|
|
373
383
|
mode: z.enum(["development", "production"]),
|
|
374
384
|
remoteAgents: z.object({
|
|
375
385
|
entries: z.array(remoteAgent),
|
|
@@ -389,7 +399,7 @@ const AgentInfoResultSchema = z.object({
|
|
|
389
399
|
dynamic: z.array(dynamicResolver),
|
|
390
400
|
static: z.array(tool)
|
|
391
401
|
}).strict(),
|
|
392
|
-
version: z.literal(
|
|
402
|
+
version: z.literal(4),
|
|
393
403
|
workflow,
|
|
394
404
|
workspace: z.object({
|
|
395
405
|
resourceRoot: z.unknown(),
|
|
@@ -424,6 +434,7 @@ const AgentInfoResultSchema = z.object({
|
|
|
424
434
|
assertUnique(value.schedules, (entry) => entry.name, ["schedules"]);
|
|
425
435
|
assertUnique(value.connections, (entry) => entry.connectionName, ["connections"]);
|
|
426
436
|
assertUnique(value.hooks, (entry) => entry.slug, ["hooks"]);
|
|
437
|
+
assertUnique(value.memories, (entry) => entry.slot, ["memories"]);
|
|
427
438
|
assertUnique(value.channels.routes, (entry) => `${entry.method} ${normalizeRoutePattern(entry.urlPath)}`, ["channels", "routes"]);
|
|
428
439
|
assertUnique(value.subagents.local, (entry) => entry.nodeId, ["subagents", "local"]);
|
|
429
440
|
assertUnique(value.remoteAgents.entries, (entry) => entry.nodeId, ["remoteAgents", "entries"]);
|
|
@@ -459,6 +470,7 @@ const AgentInfoResultSchema = z.object({
|
|
|
459
470
|
"static",
|
|
460
471
|
index
|
|
461
472
|
]]),
|
|
473
|
+
...value.memories.map((entry, index) => [entry, ["memories", index]]),
|
|
462
474
|
...value.instrumentation === void 0 ? [] : [[value.instrumentation, ["instrumentation"]]],
|
|
463
475
|
...value.remoteAgents.entries.map((entry, index) => [entry, [
|
|
464
476
|
"remoteAgents",
|
|
@@ -5,6 +5,8 @@ import { type Prompter } from "#setup/prompter.js";
|
|
|
5
5
|
import { updateConnectionConnectorUid } from "#setup/scaffold/update/update-connection-connector.js";
|
|
6
6
|
import type { RegistryCommandLogger } from "./registry.js";
|
|
7
7
|
export interface IntegrationConnectOptions {
|
|
8
|
+
creationType?: string;
|
|
9
|
+
connectionMethod?: "mcp" | "oauth";
|
|
8
10
|
nonInteractive?: boolean;
|
|
9
11
|
signal?: AbortSignal;
|
|
10
12
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{serializeHeadlessSetupEvent}from"./setup-headless.js";import{join}from"node:path";import{createPrompter}from"#setup/prompter.js";import{WizardCancelledError}from"#setup/step.js";import{cleanupCreatedConnectionConnector,setupConnectionConnector}from"#setup/connection-connector.js";import{ensureVercelProject}from"#setup/flows/ensure-vercel-project.js";import{createHeadlessPrompter}from"#setup/headless.js";import{SetupPrerequisiteRequired}from"#setup/integrations/shared/prerequisite.js";import{resolveIntegrationVercelProject}from"#setup/integrations/shared/vercel-project.js";import{readProjectLink}from"#setup/project-resolution.js";import{createRegistrySetupClient}from"#setup/registry-setup-client.js";import{updateConnectionConnectorUid}from"#setup/scaffold/update/update-connection-connector.js";const defaultDependencies={ensureVercelProject,readProjectLink,setupConnectionConnector,cleanupCreatedConnectionConnector,updateConnectionConnectorUid};async function runIntegrationConnect(e){let i={...defaultDependencies,...e.dependencies},a=e.options?.nonInteractive===!0,o=i.createPrompter?.()??(a?createHeadlessPrompter(()=>{}):createPrompter()),s=e.options?.signal;o.intro(`Set up ${e.slug}`);let l=await i.readProjectLink(e.appRoot);if(l===void 0)if(a)l=await resolveIntegrationVercelProject({appRoot:e.appRoot,integration:e.slug,signal:s,deps:{readProjectLink:i.readProjectLink}});else try{l=await i.ensureVercelProject({appRoot:e.appRoot,prompter:o,signal:s,teamSelectMessage:()=>`You need to link to a project to use ${e.slug} through Vercel Connect.\n\nSelect your team`,deps:i.ensureVercelProjectDeps})}catch(e){if(e instanceof WizardCancelledError)return;throw e}let u={log:o.log,prompter:o,projectRoot:e.appRoot,slug:e.slug,service:e.service,canonicalConnectorName:e.canonicalConnectorName??e.slug,project:l,signal:s},d=await i.setupConnectionConnector(u),f=join(e.appRoot,`agent`,`connections`,`${e.slug}.ts`);if(!(await i.updateConnectionConnectorUid(f,d.connectorUid)).patched)throw d.kind===`created`&&await i.cleanupCreatedConnectionConnector({log:o.log,projectRoot:e.appRoot,connectorId:d.connectorId,orgId:l.orgId}),Error(`Could not update the connector in agent/connections/${e.slug}.ts.`);o.outro(`Connection ${e.slug} set up.`)}async function runIntegrationConnectCommand(t,r,i,a,o,c={},l=defaultDependencies){let d=createRegistrySetupClient({signal:c.signal});try{await runIntegrationConnect({appRoot:r,slug:i,service:a,canonicalConnectorName:o,options:c,dependencies:{...l,createPrompter:()=>d?.prompter??(c.nonInteractive?createHeadlessPrompter(()=>{}):l.createPrompter?.()??createPrompter())}}),d?.complete()}catch(n){if(d?.fail(n),d!==void 0)return;if(c.nonInteractive&&n instanceof SetupPrerequisiteRequired){t.error(serializeHeadlessSetupEvent({version:1,type:`blocked`,status:`prerequisite_required`,prerequisite:n.prerequisite})),process.exitCode=2;return}t.error(n instanceof Error?n.message:String(n)),process.exitCode=1}}export{runIntegrationConnect,runIntegrationConnectCommand};
|
|
1
|
+
import{serializeHeadlessSetupEvent}from"./setup-headless.js";import{join}from"node:path";import{createPrompter}from"#setup/prompter.js";import{WizardCancelledError}from"#setup/step.js";import{cleanupCreatedConnectionConnector,setupConnectionConnector}from"#setup/connection-connector.js";import{ensureVercelProject}from"#setup/flows/ensure-vercel-project.js";import{createHeadlessPrompter}from"#setup/headless.js";import{SetupPrerequisiteRequired}from"#setup/integrations/shared/prerequisite.js";import{resolveIntegrationVercelProject}from"#setup/integrations/shared/vercel-project.js";import{readProjectLink}from"#setup/project-resolution.js";import{createRegistrySetupClient}from"#setup/registry-setup-client.js";import{updateConnectionConnectorUid}from"#setup/scaffold/update/update-connection-connector.js";const defaultDependencies={ensureVercelProject,readProjectLink,setupConnectionConnector,cleanupCreatedConnectionConnector,updateConnectionConnectorUid};async function runIntegrationConnect(e){let i={...defaultDependencies,...e.dependencies},a=e.options?.nonInteractive===!0,o=i.createPrompter?.()??(a?createHeadlessPrompter(()=>{}):createPrompter()),s=e.options?.signal;o.intro(`Set up ${e.slug}`);let l=await i.readProjectLink(e.appRoot);if(l===void 0)if(a)l=await resolveIntegrationVercelProject({appRoot:e.appRoot,integration:e.slug,signal:s,deps:{readProjectLink:i.readProjectLink}});else try{l=await i.ensureVercelProject({appRoot:e.appRoot,prompter:o,signal:s,teamSelectMessage:()=>`You need to link to a project to use ${e.slug} through Vercel Connect.\n\nSelect your team`,deps:i.ensureVercelProjectDeps})}catch(e){if(e instanceof WizardCancelledError)return;throw e}let u={log:o.log,prompter:o,projectRoot:e.appRoot,slug:e.slug,service:e.service,creationType:e.options?.creationType,connectionMethod:e.options?.connectionMethod,canonicalConnectorName:e.canonicalConnectorName??e.slug,project:l,signal:s},d=await i.setupConnectionConnector(u),f=join(e.appRoot,`agent`,`connections`,`${e.slug}.ts`);if(!(await i.updateConnectionConnectorUid(f,d.connectorUid)).patched)throw d.kind===`created`&&await i.cleanupCreatedConnectionConnector({log:o.log,projectRoot:e.appRoot,connectorId:d.connectorId,orgId:l.orgId}),Error(`Could not update the connector in agent/connections/${e.slug}.ts.`);o.outro(`Connection ${e.slug} set up.`)}async function runIntegrationConnectCommand(t,r,i,a,o,c={},l=defaultDependencies){let d=createRegistrySetupClient({signal:c.signal});try{await runIntegrationConnect({appRoot:r,slug:i,service:a,canonicalConnectorName:o,options:c,dependencies:{...l,createPrompter:()=>d?.prompter??(c.nonInteractive?createHeadlessPrompter(()=>{}):l.createPrompter?.()??createPrompter())}}),d?.complete()}catch(n){if(d?.fail(n),d!==void 0)return;if(c.nonInteractive&&n instanceof SetupPrerequisiteRequired){t.error(serializeHeadlessSetupEvent({version:1,type:`blocked`,status:`prerequisite_required`,prerequisite:n.prerequisite})),process.exitCode=2;return}t.error(n instanceof Error?n.message:String(n)),process.exitCode=1}}export{runIntegrationConnect,runIntegrationConnectCommand};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{parseSetupAnswer}from"./setup-answers.js";import{applicationCommand}from"#cli/application-command.js";function registerIntegrationCommands(n){let{applicationContext:r,logger:i,program:a}=n,o=a.command(`integration`,{hidden:!0});applicationCommand(o.command(`setup <kind>`),r).option(`-y, --yes`).option(`--non-interactive`,`Run without interactive prompts, instead emit structured NDJSON when further input is required`).option(`--answer <key=value>`,`Answer a setup question; requires --non-interactive.`,parseSetupAnswer,{}).action(async(e,t)=>{let{runIntegrationSetupCommand:n}=await import(`./integration-setup.js`);await n(i,r.root,e,{yes:t.yes,nonInteractive:t.nonInteractive,answers:t.answer})}),applicationCommand(o.command(`connect <slug> <service> [canonical-name]`),r).option(`-y, --yes`).option(`--non-interactive`,`Run without interactive prompts, instead emit structured NDJSON when further input is required`).action(async(e,t,n,a)=>{let{runIntegrationConnectCommand:o}=await import(`./integration-connect.js`);await o(i,r.root,e,t,n,a)})}export{registerIntegrationCommands};
|
|
1
|
+
import{parseSetupAnswer}from"./setup-answers.js";import{applicationCommand}from"#cli/application-command.js";function registerIntegrationCommands(n){let{applicationContext:r,logger:i,program:a}=n,o=a.command(`integration`,{hidden:!0});applicationCommand(o.command(`setup <kind>`),r).option(`-y, --yes`).option(`--non-interactive`,`Run without interactive prompts, instead emit structured NDJSON when further input is required`).option(`--answer <key=value>`,`Answer a setup question; requires --non-interactive.`,parseSetupAnswer,{}).action(async(e,t)=>{let{runIntegrationSetupCommand:n}=await import(`./integration-setup.js`);await n(i,r.root,e,{yes:t.yes,nonInteractive:t.nonInteractive,answers:t.answer})}),applicationCommand(o.command(`connect <slug> <service> [canonical-name]`),r).option(`-y, --yes`).option(`--creation-type <type>`,`Select the Vercel Connect creation type.`).option(`--connection-method <method>`,`Select the Vercel Connect connection method.`).option(`--non-interactive`,`Run without interactive prompts, instead emit structured NDJSON when further input is required`).action(async(e,t,n,a)=>{let{runIntegrationConnectCommand:o}=await import(`./integration-connect.js`);await o(i,r.root,e,t,n,a)})}export{registerIntegrationCommands};
|