@hs-x/cli 0.2.6 → 0.3.0
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/LICENSE +202 -0
- package/README.md +25 -8
- package/dist/audit-interactive.d.ts +29 -0
- package/dist/audit-interactive.d.ts.map +1 -0
- package/dist/audit-interactive.js +156 -0
- package/dist/audit-interactive.js.map +1 -0
- package/dist/bin/hs-x.js.map +1 -1
- package/dist/checkpoint-interactive.d.ts +24 -0
- package/dist/checkpoint-interactive.d.ts.map +1 -0
- package/dist/checkpoint-interactive.js +65 -0
- package/dist/checkpoint-interactive.js.map +1 -0
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +266 -39
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/kit.d.ts +1 -1
- package/dist/cli/kit.d.ts.map +1 -1
- package/dist/cli/kit.js +19 -3
- package/dist/cli/kit.js.map +1 -1
- package/dist/cloudflare-auth.d.ts +8 -0
- package/dist/cloudflare-auth.d.ts.map +1 -1
- package/dist/cloudflare-auth.js +12 -2
- package/dist/cloudflare-auth.js.map +1 -1
- package/dist/cloudflare-oauth-store.d.ts +9 -1
- package/dist/cloudflare-oauth-store.d.ts.map +1 -1
- package/dist/cloudflare-oauth-store.js +23 -4
- package/dist/cloudflare-oauth-store.js.map +1 -1
- package/dist/cloudflare-oauth.d.ts +1 -0
- package/dist/cloudflare-oauth.d.ts.map +1 -1
- package/dist/cloudflare-oauth.js +6 -2
- package/dist/cloudflare-oauth.js.map +1 -1
- package/dist/cloudflare-worker-versions.d.ts +184 -0
- package/dist/cloudflare-worker-versions.d.ts.map +1 -0
- package/dist/cloudflare-worker-versions.js +360 -0
- package/dist/cloudflare-worker-versions.js.map +1 -0
- package/dist/commands/account.d.ts +28 -13
- package/dist/commands/account.d.ts.map +1 -1
- package/dist/commands/account.js +219 -69
- package/dist/commands/account.js.map +1 -1
- package/dist/commands/api.d.ts +1 -1
- package/dist/commands/api.d.ts.map +1 -1
- package/dist/commands/api.js +6 -10
- package/dist/commands/api.js.map +1 -1
- package/dist/commands/completion.d.ts.map +1 -1
- package/dist/commands/completion.js +13 -7
- package/dist/commands/completion.js.map +1 -1
- package/dist/commands/connect.d.ts.map +1 -1
- package/dist/commands/connect.js +239 -125
- package/dist/commands/connect.js.map +1 -1
- package/dist/commands/control-plane-read.d.ts +72 -11
- package/dist/commands/control-plane-read.d.ts.map +1 -1
- package/dist/commands/control-plane-read.js +1035 -58
- package/dist/commands/control-plane-read.js.map +1 -1
- package/dist/commands/deploy-promote.d.ts +25 -3
- package/dist/commands/deploy-promote.d.ts.map +1 -1
- package/dist/commands/deploy-promote.js +314 -38
- package/dist/commands/deploy-promote.js.map +1 -1
- package/dist/commands/deploy.d.ts +67 -4
- package/dist/commands/deploy.d.ts.map +1 -1
- package/dist/commands/deploy.js +1333 -255
- package/dist/commands/deploy.js.map +1 -1
- package/dist/commands/dev.d.ts +5 -1
- package/dist/commands/dev.d.ts.map +1 -1
- package/dist/commands/dev.js +502 -107
- package/dist/commands/dev.js.map +1 -1
- package/dist/commands/doctor.d.ts +15 -1
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +131 -20
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/flags.d.ts +108 -6
- package/dist/commands/flags.d.ts.map +1 -1
- package/dist/commands/flags.js +996 -75
- package/dist/commands/flags.js.map +1 -1
- package/dist/commands/help-command.d.ts +14 -0
- package/dist/commands/help-command.d.ts.map +1 -1
- package/dist/commands/help-command.js +144 -44
- package/dist/commands/help-command.js.map +1 -1
- package/dist/commands/history.js +14 -10
- package/dist/commands/history.js.map +1 -1
- package/dist/commands/init.d.ts +4 -2
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +69 -12
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/link.d.ts +2 -3
- package/dist/commands/link.d.ts.map +1 -1
- package/dist/commands/link.js +201 -101
- package/dist/commands/link.js.map +1 -1
- package/dist/commands/login.d.ts +2 -2
- package/dist/commands/login.d.ts.map +1 -1
- package/dist/commands/login.js +22 -5
- package/dist/commands/login.js.map +1 -1
- package/dist/commands/migrate.d.ts +23 -3
- package/dist/commands/migrate.d.ts.map +1 -1
- package/dist/commands/migrate.js +500 -73
- package/dist/commands/migrate.js.map +1 -1
- package/dist/commands/rollback.d.ts +42 -2
- package/dist/commands/rollback.d.ts.map +1 -1
- package/dist/commands/rollback.js +422 -58
- package/dist/commands/rollback.js.map +1 -1
- package/dist/commands/secrets.d.ts +76 -3
- package/dist/commands/secrets.d.ts.map +1 -1
- package/dist/commands/secrets.js +328 -41
- package/dist/commands/secrets.js.map +1 -1
- package/dist/commands/status.d.ts +13 -2
- package/dist/commands/status.d.ts.map +1 -1
- package/dist/commands/status.js +154 -17
- package/dist/commands/status.js.map +1 -1
- package/dist/commands/unlink.d.ts +2 -2
- package/dist/commands/unlink.d.ts.map +1 -1
- package/dist/commands/unlink.js +2 -2
- package/dist/commands/unlink.js.map +1 -1
- package/dist/commands/update.d.ts.map +1 -1
- package/dist/commands/update.js +4 -3
- package/dist/commands/update.js.map +1 -1
- package/dist/commands/validate.d.ts +12 -3
- package/dist/commands/validate.d.ts.map +1 -1
- package/dist/commands/validate.js +70 -8
- package/dist/commands/validate.js.map +1 -1
- package/dist/constants.d.ts +1 -1
- package/dist/constants.js +1 -1
- package/dist/control-plane-fetch.d.ts.map +1 -1
- package/dist/control-plane-fetch.js +5 -4
- package/dist/control-plane-fetch.js.map +1 -1
- package/dist/deploy-revision-capture.d.ts +48 -0
- package/dist/deploy-revision-capture.d.ts.map +1 -0
- package/dist/deploy-revision-capture.js +125 -0
- package/dist/deploy-revision-capture.js.map +1 -0
- package/dist/dev/compat-shim.d.ts.map +1 -1
- package/dist/dev/compat-shim.js +10 -35
- package/dist/dev/compat-shim.js.map +1 -1
- package/dist/dev/event-bus.d.ts +5 -2
- package/dist/dev/event-bus.d.ts.map +1 -1
- package/dist/dev/event-bus.js +4 -1
- package/dist/dev/event-bus.js.map +1 -1
- package/dist/dev/hubspot-logs-poller.d.ts +35 -0
- package/dist/dev/hubspot-logs-poller.d.ts.map +1 -0
- package/dist/dev/hubspot-logs-poller.js +94 -0
- package/dist/dev/hubspot-logs-poller.js.map +1 -0
- package/dist/dev/invoke.d.ts +9 -1
- package/dist/dev/invoke.d.ts.map +1 -1
- package/dist/dev/invoke.js +69 -20
- package/dist/dev/invoke.js.map +1 -1
- package/dist/dev/keyboard.d.ts +31 -0
- package/dist/dev/keyboard.d.ts.map +1 -0
- package/dist/dev/keyboard.js +143 -0
- package/dist/dev/keyboard.js.map +1 -0
- package/dist/dev/log-server.d.ts +7 -0
- package/dist/dev/log-server.d.ts.map +1 -1
- package/dist/dev/log-server.js +68 -31
- package/dist/dev/log-server.js.map +1 -1
- package/dist/dev/migrated-card.d.ts +17 -0
- package/dist/dev/migrated-card.d.ts.map +1 -0
- package/dist/dev/migrated-card.js +114 -0
- package/dist/dev/migrated-card.js.map +1 -0
- package/dist/dev/stream-filter.d.ts +40 -0
- package/dist/dev/stream-filter.d.ts.map +1 -0
- package/dist/dev/stream-filter.js +93 -0
- package/dist/dev/stream-filter.js.map +1 -0
- package/dist/dev/stream-renderer.d.ts +34 -0
- package/dist/dev/stream-renderer.d.ts.map +1 -1
- package/dist/dev/stream-renderer.js +222 -8
- package/dist/dev/stream-renderer.js.map +1 -1
- package/dist/errors-registry.d.ts.map +1 -1
- package/dist/errors-registry.js +280 -36
- package/dist/errors-registry.js.map +1 -1
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js.map +1 -1
- package/dist/help.d.ts.map +1 -1
- package/dist/help.js +8 -0
- package/dist/help.js.map +1 -1
- package/dist/hubspot-app-logs.d.ts +76 -0
- package/dist/hubspot-app-logs.d.ts.map +1 -0
- package/dist/hubspot-app-logs.js +323 -0
- package/dist/hubspot-app-logs.js.map +1 -0
- package/dist/hubspot-auth.d.ts +8 -2
- package/dist/hubspot-auth.d.ts.map +1 -1
- package/dist/hubspot-auth.js +36 -12
- package/dist/hubspot-auth.js.map +1 -1
- package/dist/hubspot-developer-client.js +119 -11
- package/dist/hubspot-developer-client.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/init/templates.d.ts +10 -0
- package/dist/init/templates.d.ts.map +1 -1
- package/dist/init/templates.js +157 -14
- package/dist/init/templates.js.map +1 -1
- package/dist/link-migration-journal.d.ts +131 -0
- package/dist/link-migration-journal.d.ts.map +1 -0
- package/dist/link-migration-journal.js +395 -0
- package/dist/link-migration-journal.js.map +1 -0
- package/dist/link-preflight.d.ts +78 -0
- package/dist/link-preflight.d.ts.map +1 -0
- package/dist/link-preflight.js +231 -0
- package/dist/link-preflight.js.map +1 -0
- package/dist/local-project-picker.d.ts +34 -0
- package/dist/local-project-picker.d.ts.map +1 -0
- package/dist/local-project-picker.js +121 -0
- package/dist/local-project-picker.js.map +1 -0
- package/dist/logs-interactive.d.ts +37 -0
- package/dist/logs-interactive.d.ts.map +1 -0
- package/dist/logs-interactive.js +110 -0
- package/dist/logs-interactive.js.map +1 -0
- package/dist/output-context.d.ts +13 -0
- package/dist/output-context.d.ts.map +1 -0
- package/dist/output-context.js +46 -0
- package/dist/output-context.js.map +1 -0
- package/dist/project-context.d.ts +55 -0
- package/dist/project-context.d.ts.map +1 -0
- package/dist/project-context.js +115 -0
- package/dist/project-context.js.map +1 -0
- package/dist/project-picker.d.ts +65 -0
- package/dist/project-picker.d.ts.map +1 -0
- package/dist/project-picker.js +227 -0
- package/dist/project-picker.js.map +1 -0
- package/dist/prompt.d.ts +8 -0
- package/dist/prompt.d.ts.map +1 -1
- package/dist/prompt.js +81 -13
- package/dist/prompt.js.map +1 -1
- package/dist/reporter/human.d.ts +10 -2
- package/dist/reporter/human.d.ts.map +1 -1
- package/dist/reporter/human.js +82 -14
- package/dist/reporter/human.js.map +1 -1
- package/dist/reporter/index.d.ts.map +1 -1
- package/dist/reporter/index.js +7 -5
- package/dist/reporter/index.js.map +1 -1
- package/dist/reporter/json.d.ts +2 -1
- package/dist/reporter/json.d.ts.map +1 -1
- package/dist/reporter/json.js +10 -7
- package/dist/reporter/json.js.map +1 -1
- package/dist/reporter/style.d.ts +19 -0
- package/dist/reporter/style.d.ts.map +1 -1
- package/dist/reporter/style.js +126 -6
- package/dist/reporter/style.js.map +1 -1
- package/dist/reporter/types.d.ts +34 -4
- package/dist/reporter/types.d.ts.map +1 -1
- package/dist/reporter/types.js.map +1 -1
- package/dist/rollback-traffic.d.ts +85 -0
- package/dist/rollback-traffic.d.ts.map +1 -0
- package/dist/rollback-traffic.js +204 -0
- package/dist/rollback-traffic.js.map +1 -0
- package/dist/services/account-store.d.ts +3 -1
- package/dist/services/account-store.d.ts.map +1 -1
- package/dist/services/account-store.js +2 -1
- package/dist/services/account-store.js.map +1 -1
- package/dist/services/app-paths.d.ts.map +1 -1
- package/dist/services/app-paths.js +3 -1
- package/dist/services/app-paths.js.map +1 -1
- package/dist/services/cloudflare-auth.d.ts +1 -1
- package/dist/services/cloudflare-auth.d.ts.map +1 -1
- package/dist/services/cloudflare-auth.js +2 -2
- package/dist/services/cloudflare-auth.js.map +1 -1
- package/dist/services/cloudflare-kv.d.ts.map +1 -1
- package/dist/services/cloudflare-kv.js.map +1 -1
- package/dist/services/command-history.d.ts.map +1 -1
- package/dist/services/command-history.js.map +1 -1
- package/dist/services/config.d.ts.map +1 -1
- package/dist/services/config.js +1 -1
- package/dist/services/config.js.map +1 -1
- package/dist/services/control-plane.d.ts.map +1 -1
- package/dist/services/control-plane.js +3 -3
- package/dist/services/control-plane.js.map +1 -1
- package/dist/services/env-loader.d.ts.map +1 -1
- package/dist/services/env-loader.js +1 -3
- package/dist/services/env-loader.js.map +1 -1
- package/dist/services/http.d.ts.map +1 -1
- package/dist/services/http.js.map +1 -1
- package/dist/services/hubspot-dev-client.d.ts.map +1 -1
- package/dist/services/hubspot-dev-client.js +30 -0
- package/dist/services/hubspot-dev-client.js.map +1 -1
- package/dist/services/live.d.ts +2 -2
- package/dist/services/live.d.ts.map +1 -1
- package/dist/services/live.js +1 -1
- package/dist/services/live.js.map +1 -1
- package/dist/services/machine-id.d.ts.map +1 -1
- package/dist/services/machine-id.js.map +1 -1
- package/dist/services/reporter.d.ts +8 -5
- package/dist/services/reporter.d.ts.map +1 -1
- package/dist/services/reporter.js +6 -4
- package/dist/services/reporter.js.map +1 -1
- package/dist/services/tenant-state.d.ts.map +1 -1
- package/dist/services/tenant-state.js.map +1 -1
- package/dist/state-store.d.ts +4 -0
- package/dist/state-store.d.ts.map +1 -1
- package/dist/state-store.js +15 -0
- package/dist/state-store.js.map +1 -1
- package/dist/status-drilldown.d.ts +24 -0
- package/dist/status-drilldown.d.ts.map +1 -0
- package/dist/status-drilldown.js +50 -0
- package/dist/status-drilldown.js.map +1 -0
- package/dist/tenant-state.d.ts.map +1 -1
- package/dist/tenant-state.js +3 -2
- package/dist/tenant-state.js.map +1 -1
- package/dist/token-key-custody.d.ts +91 -0
- package/dist/token-key-custody.d.ts.map +1 -0
- package/dist/token-key-custody.js +375 -0
- package/dist/token-key-custody.js.map +1 -0
- package/package.json +13 -14
|
@@ -6,14 +6,14 @@ import { discoverHubSpotAccounts } from './hubspot-auth.js';
|
|
|
6
6
|
export async function createDeployHubSpotDeveloperClient({ argv, local, allowedOperations, cwd = process.cwd(), }) {
|
|
7
7
|
if (local) {
|
|
8
8
|
if (hasFlag(argv, '--control-plane-url') || hasFlag(argv, '--account-id')) {
|
|
9
|
-
await requestControlPlaneHubSpotLease(argv, allowedOperations);
|
|
9
|
+
await requestControlPlaneHubSpotLease(argv, allowedOperations, cwd);
|
|
10
10
|
}
|
|
11
11
|
return createHubSpotDeveloperClient({
|
|
12
12
|
developerAccountId: Number(resolveFlag(argv, '--developer-account-id') ?? '12345'),
|
|
13
13
|
adapter: createLocalHubSpotDeployAdapter(),
|
|
14
14
|
});
|
|
15
15
|
}
|
|
16
|
-
const lease = await requestControlPlaneHubSpotLease(argv, allowedOperations);
|
|
16
|
+
const lease = await requestControlPlaneHubSpotLease(argv, allowedOperations, cwd);
|
|
17
17
|
if (lease) {
|
|
18
18
|
if (!lease.personalAccessKey) {
|
|
19
19
|
throw new Error('Control-plane HubSpot lease did not include PAK material.');
|
|
@@ -53,7 +53,18 @@ export async function createDeployHubSpotDeveloperClient({ argv, local, allowedO
|
|
|
53
53
|
...(developerApiKey ? { developerApiKey } : {}),
|
|
54
54
|
});
|
|
55
55
|
}
|
|
56
|
-
|
|
56
|
+
/**
|
|
57
|
+
* Lease failures the CLI can heal itself from local PAK material. The control
|
|
58
|
+
* plane is connected-but-secretless (`hubspot_credential_unavailable`) or has
|
|
59
|
+
* no connection at all (`hubspot_not_connected`) — neither is an auth or
|
|
60
|
+
* permission failure, so re-supplying the credential is a legitimate repair.
|
|
61
|
+
* Any other lease error is a real refusal and must surface unchanged.
|
|
62
|
+
*/
|
|
63
|
+
const AUTO_WIRABLE_LEASE_ERRORS = new Set([
|
|
64
|
+
'hubspot_credential_unavailable',
|
|
65
|
+
'hubspot_not_connected',
|
|
66
|
+
]);
|
|
67
|
+
async function requestControlPlaneHubSpotLease(argv, allowedOperations, cwd) {
|
|
57
68
|
const controlPlaneUrl = resolveFlag(argv, '--control-plane-url') ?? process.env.HSX_CONTROL_PLANE_URL;
|
|
58
69
|
const accountId = resolveFlag(argv, '--account-id') ?? process.env.HSX_ACCOUNT_ID;
|
|
59
70
|
if (!controlPlaneUrl && !accountId) {
|
|
@@ -63,22 +74,89 @@ async function requestControlPlaneHubSpotLease(argv, allowedOperations) {
|
|
|
63
74
|
throw new Error('Control-plane lease requires both --control-plane-url/HSX_CONTROL_PLANE_URL and --account-id/HSX_ACCOUNT_ID.');
|
|
64
75
|
}
|
|
65
76
|
const userId = resolveFlag(argv, '--user-id') ?? process.env.HSX_USER_ID ?? 'local-cli-user';
|
|
77
|
+
const lease = { controlPlaneUrl, accountId, userId, argv, allowedOperations };
|
|
78
|
+
const first = await postHubSpotLease(lease);
|
|
79
|
+
if (first.ok)
|
|
80
|
+
return first.lease;
|
|
81
|
+
// Auto-wire: this machine holds usable PAK material the control plane lacks.
|
|
82
|
+
// Push it through the real connect route (which validates the key and stores
|
|
83
|
+
// it encrypted) and retry once, instead of dead-ending a deploy on
|
|
84
|
+
// "reconnect HubSpot" while a valid credential sits in ~/.hscli.
|
|
85
|
+
if (AUTO_WIRABLE_LEASE_ERRORS.has(first.error ?? '')) {
|
|
86
|
+
const wired = await autoWireHubSpotCredential({ ...lease, cwd });
|
|
87
|
+
if (wired) {
|
|
88
|
+
const retry = await postHubSpotLease(lease);
|
|
89
|
+
if (retry.ok)
|
|
90
|
+
return retry.lease;
|
|
91
|
+
throw new Error(retry.message);
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
throw new Error(first.message);
|
|
95
|
+
}
|
|
96
|
+
async function postHubSpotLease(input) {
|
|
66
97
|
const response = await hostedHttp({
|
|
67
|
-
url: new URL(`/v1/accounts/${encodeURIComponent(accountId)}/hubspot/lease`, controlPlaneUrl),
|
|
98
|
+
url: new URL(`/v1/accounts/${encodeURIComponent(input.accountId)}/hubspot/lease`, input.controlPlaneUrl),
|
|
68
99
|
method: 'POST',
|
|
69
|
-
headers: await controlPlaneAuthHeaders(userId),
|
|
100
|
+
headers: await controlPlaneAuthHeaders(input.userId),
|
|
70
101
|
body: {
|
|
71
|
-
deployId: resolveFlag(argv, '--deploy-id'),
|
|
72
|
-
allowedOperations,
|
|
102
|
+
deployId: resolveFlag(input.argv, '--deploy-id'),
|
|
103
|
+
allowedOperations: input.allowedOperations,
|
|
73
104
|
},
|
|
74
105
|
});
|
|
75
106
|
const body = await response.json();
|
|
76
|
-
if (
|
|
77
|
-
|
|
107
|
+
if (response.ok) {
|
|
108
|
+
return { ok: true, lease: Schema.decodeUnknownSync(schemas.HubSpotDeveloperLease)(body) };
|
|
109
|
+
}
|
|
110
|
+
return {
|
|
111
|
+
ok: false,
|
|
112
|
+
error: isRecord(body) && typeof body.error === 'string' ? body.error : undefined,
|
|
113
|
+
message: isRecord(body) && typeof body.message === 'string'
|
|
78
114
|
? body.message
|
|
79
|
-
: `Control-plane HubSpot lease failed with status ${response.status}
|
|
115
|
+
: `Control-plane HubSpot lease failed with status ${response.status}`,
|
|
116
|
+
};
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Re-supply the account's HubSpot PAK to the control plane from local config,
|
|
120
|
+
* returning false when this machine has nothing to offer (the caller then
|
|
121
|
+
* surfaces the original lease error). Explicit flags/env win over discovery so
|
|
122
|
+
* an operator can always steer which credential gets wired.
|
|
123
|
+
*/
|
|
124
|
+
async function autoWireHubSpotCredential(input) {
|
|
125
|
+
let developerAccountId = resolveFlag(input.argv, '--developer-account-id') ??
|
|
126
|
+
process.env.HSX_HUBSPOT_DEVELOPER_ACCOUNT_ID;
|
|
127
|
+
let personalAccessKey = resolveFlag(input.argv, '--pak') ?? process.env.HSX_HUBSPOT_PAK;
|
|
128
|
+
const developerApiKey = resolveFlag(input.argv, '--developer-api-key') ?? process.env.HSX_HUBSPOT_DEVELOPER_API_KEY;
|
|
129
|
+
let displayName;
|
|
130
|
+
if (!developerAccountId || !personalAccessKey) {
|
|
131
|
+
const discovered = await discoverHubSpotAccounts(input.cwd);
|
|
132
|
+
const account = discovered?.accounts.find((candidate) => candidate.isDefault) ??
|
|
133
|
+
(discovered?.accounts.length === 1 ? discovered.accounts[0] : undefined);
|
|
134
|
+
if (account?.personalAccessKey) {
|
|
135
|
+
developerAccountId ??= String(account.portalId);
|
|
136
|
+
personalAccessKey ??= account.personalAccessKey;
|
|
137
|
+
displayName = account.name;
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
if (!developerAccountId || !personalAccessKey) {
|
|
141
|
+
return false;
|
|
80
142
|
}
|
|
81
|
-
|
|
143
|
+
const response = await hostedHttp({
|
|
144
|
+
url: new URL(`/v1/accounts/${encodeURIComponent(input.accountId)}/hubspot/connect`, input.controlPlaneUrl),
|
|
145
|
+
method: 'POST',
|
|
146
|
+
headers: await controlPlaneAuthHeaders(input.userId),
|
|
147
|
+
body: {
|
|
148
|
+
developerAccountId,
|
|
149
|
+
displayName: displayName ?? `HubSpot developer account ${developerAccountId}`,
|
|
150
|
+
authMethod: 'pak',
|
|
151
|
+
personalAccessKey,
|
|
152
|
+
...(developerApiKey ? { developerApiKey } : {}),
|
|
153
|
+
},
|
|
154
|
+
});
|
|
155
|
+
if (!response.ok) {
|
|
156
|
+
return false;
|
|
157
|
+
}
|
|
158
|
+
process.stderr.write(` [auto-wire] Re-supplied HubSpot credentials for account ${input.accountId} from local config (developer account ${developerAccountId}).\n`);
|
|
159
|
+
return true;
|
|
82
160
|
}
|
|
83
161
|
async function hostedHttp(input) {
|
|
84
162
|
const headers = { ...(input.headers ?? {}) };
|
|
@@ -159,6 +237,36 @@ function createLocalHubSpotDeployAdapter() {
|
|
|
159
237
|
async listSchemas() {
|
|
160
238
|
return { results: [] };
|
|
161
239
|
},
|
|
240
|
+
async searchAppLogs(_accountId, appId, request) {
|
|
241
|
+
return {
|
|
242
|
+
results: [
|
|
243
|
+
{
|
|
244
|
+
id: `log-${request.query.loggingSystemType.toLowerCase()}-001`,
|
|
245
|
+
loggingSystemType: request.query.loggingSystemType,
|
|
246
|
+
requestExecutionTimestamp: 1_750_000_000_000,
|
|
247
|
+
portalId: 46_993_937,
|
|
248
|
+
traceId: 'trace-local-001',
|
|
249
|
+
parentId: '',
|
|
250
|
+
label: 'local mock entry',
|
|
251
|
+
responseReceivedTimestamp: 1_750_000_000_050,
|
|
252
|
+
duration: 50,
|
|
253
|
+
appId,
|
|
254
|
+
},
|
|
255
|
+
],
|
|
256
|
+
};
|
|
257
|
+
},
|
|
258
|
+
async getAppLogDetails(_accountId, appId, systemType, logId) {
|
|
259
|
+
return {
|
|
260
|
+
log: {
|
|
261
|
+
loggingSystemType: systemType,
|
|
262
|
+
id: logId,
|
|
263
|
+
requestExecutionTimestamp: 1_750_000_000_000,
|
|
264
|
+
appId,
|
|
265
|
+
label: 'local mock entry',
|
|
266
|
+
},
|
|
267
|
+
consoleOutput: 'local mock console output',
|
|
268
|
+
};
|
|
269
|
+
},
|
|
162
270
|
async createSchema(_accountId, request) {
|
|
163
271
|
return {
|
|
164
272
|
name: request.name,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hubspot-developer-client.js","sourceRoot":"","sources":["../src/hubspot-developer-client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"hubspot-developer-client.js","sourceRoot":"","sources":["../src/hubspot-developer-client.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -2,4 +2,5 @@ export { runCli } from './cli/index.js';
|
|
|
2
2
|
export type { CliResult } from './result.js';
|
|
3
3
|
export { CLI_VERSION } from './constants.js';
|
|
4
4
|
export { DEFAULT_CONTROL_PLANE_URL, resolveControlPlaneUrl } from './config.js';
|
|
5
|
+
export { type HubSpotLogsPayload, type HubSpotLogsSource, fetchHubSpotLogsPayload, resolveHubSpotLogsSource, } from './hubspot-app-logs.js';
|
|
5
6
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,YAAY,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,yBAAyB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,YAAY,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,yBAAyB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAChF,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,uBAAuB,EACvB,wBAAwB,GACzB,MAAM,uBAAuB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export { runCli } from './cli/index.js';
|
|
2
2
|
export { CLI_VERSION } from './constants.js';
|
|
3
3
|
export { DEFAULT_CONTROL_PLANE_URL, resolveControlPlaneUrl } from './config.js';
|
|
4
|
+
export { fetchHubSpotLogsPayload, resolveHubSpotLogsSource, } from './hubspot-app-logs.js';
|
|
4
5
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAExC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,yBAAyB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAExC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,yBAAyB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAChF,OAAO,EAGL,uBAAuB,EACvB,wBAAwB,GACzB,MAAM,uBAAuB,CAAC"}
|
package/dist/init/templates.d.ts
CHANGED
|
@@ -13,7 +13,17 @@ export interface TemplateOptions {
|
|
|
13
13
|
readonly auth?: AuthMode;
|
|
14
14
|
/** Scaffold a starter UI-extension app card alongside the worker. */
|
|
15
15
|
readonly uiExtension?: boolean;
|
|
16
|
+
/**
|
|
17
|
+
* CRM object the scaffolded workflow action enrolls. Drives the worker file
|
|
18
|
+
* name, the action's `objectType`, and the requested scopes. Defaults to
|
|
19
|
+
* `deal` (the long-standing starter). Cold-stranger G3 hit the silent
|
|
20
|
+
* mismatch: `init contact-scorer --type workflow-action` produced a *deals*
|
|
21
|
+
* action with deals scopes, so the object is now an explicit choice.
|
|
22
|
+
*/
|
|
23
|
+
readonly objectType?: WorkflowActionObjectType;
|
|
16
24
|
}
|
|
25
|
+
export type WorkflowActionObjectType = 'contact' | 'deal' | 'company' | 'ticket';
|
|
26
|
+
export declare const WORKFLOW_ACTION_OBJECT_TYPES: readonly WorkflowActionObjectType[];
|
|
17
27
|
export interface Template {
|
|
18
28
|
readonly id: TemplateId;
|
|
19
29
|
readonly label: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../src/init/templates.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../src/init/templates.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,UAAU,GAAG,cAAc,GAAG,OAAO,GAAG,aAAa,CAAC;AAClE,MAAM,MAAM,YAAY,GAAG,UAAU,GAAG,iBAAiB,GAAG,KAAK,GAAG,OAAO,GAAG,WAAW,CAAC;AAE1F,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,qEAAqE;AACrE,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,aAAa,CAAC;AACrD,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAC;AAE1C,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,YAAY,CAAC,EAAE,YAAY,CAAC;IACrC,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC;IACzB,qEAAqE;IACrE,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IAC/B;;;;;;OAMG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,wBAAwB,CAAC;CAChD;AAED,MAAM,MAAM,wBAAwB,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ,CAAC;AAEjF,eAAO,MAAM,4BAA4B,EAAE,SAAS,wBAAwB,EAK3E,CAAC;AAsHF,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,EAAE,EAAE,UAAU,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,SAAS,YAAY,EAAE,CAAC;CACzE;AAwXD,eAAO,MAAM,SAAS,EAAE,SAAS,QAAQ,EAAqC,CAAC;AAE/E,wBAAgB,WAAW,CAAC,EAAE,EAAE,UAAU,GAAG,QAAQ,CAIpD;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,CAiBpF"}
|
package/dist/init/templates.js
CHANGED
|
@@ -1,3 +1,58 @@
|
|
|
1
|
+
import { CLI_VERSION } from '../constants.js';
|
|
2
|
+
export const WORKFLOW_ACTION_OBJECT_TYPES = [
|
|
3
|
+
'contact',
|
|
4
|
+
'deal',
|
|
5
|
+
'company',
|
|
6
|
+
'ticket',
|
|
7
|
+
];
|
|
8
|
+
/**
|
|
9
|
+
* Per-object starter shape for the workflow-action template. Each entry names a
|
|
10
|
+
* real numeric HubSpot property so the sample handler compiles and reads
|
|
11
|
+
* sensibly; the developer edits from there. `deal` reproduces the original
|
|
12
|
+
* deals-tagger output byte-for-byte.
|
|
13
|
+
*/
|
|
14
|
+
const WORKFLOW_ACTION_PRESETS = {
|
|
15
|
+
deal: {
|
|
16
|
+
plural: 'deals',
|
|
17
|
+
worker: 'deals',
|
|
18
|
+
actionId: 'tag-high-value-deals',
|
|
19
|
+
actionLabel: 'Tag high value deals',
|
|
20
|
+
inputLabel: 'Amount threshold',
|
|
21
|
+
property: 'amount',
|
|
22
|
+
threshold: 50000,
|
|
23
|
+
output: 'tagged',
|
|
24
|
+
},
|
|
25
|
+
contact: {
|
|
26
|
+
plural: 'contacts',
|
|
27
|
+
worker: 'contacts',
|
|
28
|
+
actionId: 'score-contact',
|
|
29
|
+
actionLabel: 'Score contact',
|
|
30
|
+
inputLabel: 'Page-view threshold',
|
|
31
|
+
property: 'hs_analytics_num_page_views',
|
|
32
|
+
threshold: 10,
|
|
33
|
+
output: 'matched',
|
|
34
|
+
},
|
|
35
|
+
company: {
|
|
36
|
+
plural: 'companies',
|
|
37
|
+
worker: 'companies',
|
|
38
|
+
actionId: 'flag-company',
|
|
39
|
+
actionLabel: 'Flag company',
|
|
40
|
+
inputLabel: 'Annual revenue threshold',
|
|
41
|
+
property: 'annualrevenue',
|
|
42
|
+
threshold: 1000000,
|
|
43
|
+
output: 'flagged',
|
|
44
|
+
},
|
|
45
|
+
ticket: {
|
|
46
|
+
plural: 'tickets',
|
|
47
|
+
worker: 'tickets',
|
|
48
|
+
actionId: 'flag-ticket',
|
|
49
|
+
actionLabel: 'Flag ticket',
|
|
50
|
+
inputLabel: 'Time-to-close threshold (ms)',
|
|
51
|
+
property: 'time_to_close',
|
|
52
|
+
threshold: 86400000,
|
|
53
|
+
output: 'flagged',
|
|
54
|
+
},
|
|
55
|
+
};
|
|
1
56
|
// Starter UI-extension card. Scaffolded on `contacts` so it's valid against any
|
|
2
57
|
// template (we ensure the matching read scope); the developer edits from there.
|
|
3
58
|
const CARD = {
|
|
@@ -54,10 +109,11 @@ function DemoCard() {
|
|
|
54
109
|
// This pins the published @hs-x LIBRARY floor, NOT the CLI's own version —
|
|
55
110
|
// the CLI can patch independently without forcing a library version that may
|
|
56
111
|
// not exist on npm. A caret floor also resolves to the local workspace
|
|
57
|
-
// packages when an app is scaffolded inside the monorepo.
|
|
58
|
-
//
|
|
59
|
-
//
|
|
60
|
-
|
|
112
|
+
// packages when an app is scaffolded inside the monorepo. publish-closure.sh
|
|
113
|
+
// releases the whole @hs-x/* closure at one version, so the floor tracks the
|
|
114
|
+
// CLI's own minor line — derived, not hand-maintained, because a hand-bumped
|
|
115
|
+
// constant drifts (cold-stranger G3 found a 0.3.0 CLI scaffolding `^0.2.0`).
|
|
116
|
+
const HSX_DEP_RANGE = `^${CLI_VERSION.split('.').slice(0, 2).join('.')}.0`;
|
|
61
117
|
function configFile(name, scopes, options = {}) {
|
|
62
118
|
const appName = options.appName ?? name;
|
|
63
119
|
const distribution = options.distribution ?? 'private';
|
|
@@ -203,35 +259,120 @@ dist/
|
|
|
203
259
|
`,
|
|
204
260
|
};
|
|
205
261
|
}
|
|
262
|
+
// Agent-facing project guidance is scaffolded alongside the source so coding
|
|
263
|
+
// agents start with the HS-X workflow and current documentation rather than
|
|
264
|
+
// guessing from generated artifacts or stale model knowledge. AGENTS.md is the
|
|
265
|
+
// canonical copy; CLAUDE.md imports it instead of duplicating instructions.
|
|
266
|
+
function agentFiles() {
|
|
267
|
+
return [
|
|
268
|
+
{
|
|
269
|
+
path: 'AGENTS.md',
|
|
270
|
+
contents: `# HS-X project instructions
|
|
271
|
+
|
|
272
|
+
This is an HS-X application. Use HS-X declarations and the HS-X CLI rather than hand-writing generated HubSpot or Cloudflare deployment artifacts.
|
|
273
|
+
|
|
274
|
+
## Project structure
|
|
275
|
+
|
|
276
|
+
- \`hsx.config.ts\` declares the app, scopes, auth, distribution, and UI-extension cards.
|
|
277
|
+
- \`src/workers/\` contains workers and their workflow actions, agent tools, syncs, and triggers.
|
|
278
|
+
- \`src/app/cards/\` contains HubSpot UI-extension cards when the project has them.
|
|
279
|
+
- \`.hs-x/\` contains generated deployment artifacts. HS-X regenerates these during development and deployment; \`.hs-x/alchemy.run.ts\` is intentionally tracked for leaveability.
|
|
280
|
+
|
|
281
|
+
## Working with this project
|
|
282
|
+
|
|
283
|
+
1. Inspect \`hsx.config.ts\` and the relevant worker before making changes.
|
|
284
|
+
2. Use exports from \`@hs-x/sdk\`; consult the current HS-X docs instead of guessing APIs.
|
|
285
|
+
3. Run \`hs-x check\` after changing declarations or configuration.
|
|
286
|
+
4. Use \`hs-x dev\` for the local development loop.
|
|
287
|
+
5. Use \`hs-x deploy\` for deployment. Do not bypass it with direct generated-manifest edits.
|
|
288
|
+
6. Use \`hs-x <command> --help\` for command details and \`--json\` when structured output is useful.
|
|
289
|
+
7. Manage credentials with HS-X secret and connection commands. Never commit tokens, \`.env\`, \`.env.local\`, or \`.dev.vars\`.
|
|
290
|
+
|
|
291
|
+
## Authoritative documentation
|
|
292
|
+
|
|
293
|
+
Prefer the agent-readable Markdown pages:
|
|
294
|
+
|
|
295
|
+
- Getting started: https://hs-x.dev/docs/guides/getting-started.md
|
|
296
|
+
- SDK reference: https://hs-x.dev/docs/sdk.md
|
|
297
|
+
- CLI reference: https://hs-x.dev/docs/cli.md
|
|
298
|
+
- MCP reference: https://hs-x.dev/docs/mcp.md
|
|
299
|
+
- Agent Skills index: https://hs-x.dev/.well-known/agent-skills/index.json
|
|
300
|
+
|
|
301
|
+
If \`@hs-x/mcp\` is available, use it to search current documentation, validate the project, list capabilities, invoke handlers, and inspect the development loop.
|
|
302
|
+
`,
|
|
303
|
+
},
|
|
304
|
+
{
|
|
305
|
+
path: 'CLAUDE.md',
|
|
306
|
+
contents: `# Claude Code instructions
|
|
307
|
+
|
|
308
|
+
The canonical instructions for this project are in @AGENTS.md. Read and follow them before modifying the project.
|
|
309
|
+
`,
|
|
310
|
+
},
|
|
311
|
+
{
|
|
312
|
+
path: '.agents/skills/hs-x/SKILL.md',
|
|
313
|
+
contents: `---
|
|
314
|
+
name: hs-x
|
|
315
|
+
description: Build and maintain HS-X applications, including HubSpot workflow actions, Breeze agent tools, data syncs, triggers, UI-extension cards, local development, validation, and deployment.
|
|
316
|
+
---
|
|
317
|
+
|
|
318
|
+
# HS-X
|
|
319
|
+
|
|
320
|
+
Use this skill when working in a project containing \`hsx.config.ts\` or when the user asks to build a HubSpot application with HS-X.
|
|
321
|
+
|
|
322
|
+
## Workflow
|
|
323
|
+
|
|
324
|
+
1. Read the repository's \`AGENTS.md\`, \`hsx.config.ts\`, and relevant files under \`src/workers/\` or \`src/app/cards/\`.
|
|
325
|
+
2. Retrieve current HS-X documentation before introducing or changing SDK declarations. Prefer \`@hs-x/mcp\` documentation search when available; otherwise use the agent-readable Markdown pages linked below.
|
|
326
|
+
3. Implement capabilities with \`@hs-x/sdk\` declarations. Do not hand-author generated HubSpot manifests or edit generated \`.hs-x/\` output as the source of truth.
|
|
327
|
+
4. Run \`hs-x check\` and resolve validation errors.
|
|
328
|
+
5. Use \`hs-x dev\` to exercise capabilities locally and \`hs-x deploy\` to deploy them.
|
|
329
|
+
6. Add \`--json\` to CLI commands when machine-readable output is useful, and inspect \`hs-x <command> --help\` rather than guessing flags.
|
|
330
|
+
|
|
331
|
+
## Documentation
|
|
332
|
+
|
|
333
|
+
- Start here: https://hs-x.dev/docs/guides/getting-started.md
|
|
334
|
+
- SDK: https://hs-x.dev/docs/sdk.md
|
|
335
|
+
- CLI: https://hs-x.dev/docs/cli.md
|
|
336
|
+
- MCP: https://hs-x.dev/docs/mcp.md
|
|
337
|
+
- Discover additional HS-X skills: https://hs-x.dev/.well-known/agent-skills/index.json
|
|
338
|
+
|
|
339
|
+
Treat those pages and the installed package types as authoritative over model memory.
|
|
340
|
+
`,
|
|
341
|
+
},
|
|
342
|
+
];
|
|
343
|
+
}
|
|
206
344
|
const dealsTagger = {
|
|
207
345
|
id: 'deals-tagger',
|
|
208
346
|
label: 'Workflow action',
|
|
209
347
|
description: 'A callable HubSpot workflow action with a Worker handler',
|
|
210
348
|
files(name, options = {}) {
|
|
349
|
+
const objectType = options.objectType ?? 'deal';
|
|
350
|
+
const preset = WORKFLOW_ACTION_PRESETS[objectType];
|
|
211
351
|
return [
|
|
212
352
|
packageJsonFile(name, options),
|
|
213
353
|
tsconfigFile(options),
|
|
214
354
|
gitignoreFile(),
|
|
215
|
-
|
|
355
|
+
...agentFiles(),
|
|
356
|
+
configFile(name, [`crm.objects.${preset.plural}.read`, `crm.objects.${preset.plural}.write`], options),
|
|
216
357
|
...(options.uiExtension ? [cardComponentFile(), cardsPackageFile()] : []),
|
|
217
358
|
{
|
|
218
|
-
path:
|
|
359
|
+
path: `src/workers/${preset.worker}.ts`,
|
|
219
360
|
contents: `import { defineWorker, ok } from "@hs-x/sdk";
|
|
220
361
|
|
|
221
|
-
const worker = defineWorker(
|
|
362
|
+
const worker = defineWorker(${JSON.stringify(preset.worker)});
|
|
222
363
|
|
|
223
|
-
worker.
|
|
224
|
-
label:
|
|
225
|
-
objectType:
|
|
364
|
+
worker.action(${JSON.stringify(preset.actionId)}, {
|
|
365
|
+
label: ${JSON.stringify(preset.actionLabel)},
|
|
366
|
+
objectType: ${JSON.stringify(objectType)},
|
|
226
367
|
input: {
|
|
227
|
-
threshold: { type: "number", label:
|
|
368
|
+
threshold: { type: "number", label: ${JSON.stringify(preset.inputLabel)}, default: ${preset.threshold} },
|
|
228
369
|
},
|
|
229
370
|
output: {
|
|
230
|
-
|
|
371
|
+
${preset.output}: { type: "boolean" },
|
|
231
372
|
},
|
|
232
373
|
async handler({ input, enrolledObject }) {
|
|
233
|
-
const
|
|
234
|
-
return ok({
|
|
374
|
+
const value = Number(enrolledObject.properties.${preset.property} ?? 0);
|
|
375
|
+
return ok({ ${preset.output}: value >= input.threshold });
|
|
235
376
|
},
|
|
236
377
|
});
|
|
237
378
|
|
|
@@ -250,6 +391,7 @@ const empty = {
|
|
|
250
391
|
packageJsonFile(name, options),
|
|
251
392
|
tsconfigFile(options),
|
|
252
393
|
gitignoreFile(),
|
|
394
|
+
...agentFiles(),
|
|
253
395
|
configFile(name, ['crm.objects.contacts.read'], options),
|
|
254
396
|
...(options.uiExtension ? [cardComponentFile(), cardsPackageFile()] : []),
|
|
255
397
|
{
|
|
@@ -268,6 +410,7 @@ const syncSource = {
|
|
|
268
410
|
packageJsonFile(name, options),
|
|
269
411
|
tsconfigFile(options),
|
|
270
412
|
gitignoreFile(),
|
|
413
|
+
...agentFiles(),
|
|
271
414
|
configFile(name, ['crm.objects.custom.read', 'crm.objects.custom.write', 'crm.schemas.custom.read'], options),
|
|
272
415
|
...(options.uiExtension ? [cardComponentFile(), cardsPackageFile()] : []),
|
|
273
416
|
{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"templates.js","sourceRoot":"","sources":["../../src/init/templates.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"templates.js","sourceRoot":"","sources":["../../src/init/templates.ts"],"names":[],"mappings":"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"}
|