@agent-relay/cloud 2.0.23 → 6.0.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/dist/api-client.d.ts +33 -0
- package/dist/api-client.d.ts.map +1 -0
- package/dist/api-client.js +123 -0
- package/dist/api-client.js.map +1 -0
- package/dist/auth.d.ts +13 -0
- package/dist/auth.d.ts.map +1 -0
- package/dist/auth.js +299 -0
- package/dist/auth.js.map +1 -0
- package/dist/index.d.ts +4 -10
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -37
- package/dist/index.js.map +1 -1
- package/dist/types.d.ts +73 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +12 -0
- package/dist/types.js.map +1 -0
- package/dist/workflows.d.ts +46 -0
- package/dist/workflows.d.ts.map +1 -0
- package/dist/workflows.js +464 -0
- package/dist/workflows.js.map +1 -0
- package/package.json +8 -25
- package/dist/api/admin.d.ts +0 -8
- package/dist/api/admin.d.ts.map +0 -1
- package/dist/api/admin.js +0 -225
- package/dist/api/admin.js.map +0 -1
- package/dist/api/auth.d.ts +0 -20
- package/dist/api/auth.d.ts.map +0 -1
- package/dist/api/auth.js +0 -138
- package/dist/api/auth.js.map +0 -1
- package/dist/api/billing.d.ts +0 -7
- package/dist/api/billing.d.ts.map +0 -1
- package/dist/api/billing.js +0 -564
- package/dist/api/billing.js.map +0 -1
- package/dist/api/cli-pty-runner.d.ts +0 -53
- package/dist/api/cli-pty-runner.d.ts.map +0 -1
- package/dist/api/cli-pty-runner.js +0 -175
- package/dist/api/cli-pty-runner.js.map +0 -1
- package/dist/api/codex-auth-helper.d.ts +0 -21
- package/dist/api/codex-auth-helper.d.ts.map +0 -1
- package/dist/api/codex-auth-helper.js +0 -327
- package/dist/api/codex-auth-helper.js.map +0 -1
- package/dist/api/consensus.d.ts +0 -13
- package/dist/api/consensus.d.ts.map +0 -1
- package/dist/api/consensus.js +0 -261
- package/dist/api/consensus.js.map +0 -1
- package/dist/api/coordinators.d.ts +0 -8
- package/dist/api/coordinators.d.ts.map +0 -1
- package/dist/api/coordinators.js +0 -750
- package/dist/api/coordinators.js.map +0 -1
- package/dist/api/daemons.d.ts +0 -12
- package/dist/api/daemons.d.ts.map +0 -1
- package/dist/api/daemons.js +0 -535
- package/dist/api/daemons.js.map +0 -1
- package/dist/api/email-auth.d.ts +0 -11
- package/dist/api/email-auth.d.ts.map +0 -1
- package/dist/api/email-auth.js +0 -347
- package/dist/api/email-auth.js.map +0 -1
- package/dist/api/generic-webhooks.d.ts +0 -8
- package/dist/api/generic-webhooks.d.ts.map +0 -1
- package/dist/api/generic-webhooks.js +0 -129
- package/dist/api/generic-webhooks.js.map +0 -1
- package/dist/api/git.d.ts +0 -8
- package/dist/api/git.d.ts.map +0 -1
- package/dist/api/git.js +0 -269
- package/dist/api/git.js.map +0 -1
- package/dist/api/github-app.d.ts +0 -11
- package/dist/api/github-app.d.ts.map +0 -1
- package/dist/api/github-app.js +0 -223
- package/dist/api/github-app.js.map +0 -1
- package/dist/api/middleware/planLimits.d.ts +0 -43
- package/dist/api/middleware/planLimits.d.ts.map +0 -1
- package/dist/api/middleware/planLimits.js +0 -202
- package/dist/api/middleware/planLimits.js.map +0 -1
- package/dist/api/monitoring.d.ts +0 -11
- package/dist/api/monitoring.d.ts.map +0 -1
- package/dist/api/monitoring.js +0 -578
- package/dist/api/monitoring.js.map +0 -1
- package/dist/api/nango-auth.d.ts +0 -9
- package/dist/api/nango-auth.d.ts.map +0 -1
- package/dist/api/nango-auth.js +0 -741
- package/dist/api/nango-auth.js.map +0 -1
- package/dist/api/onboarding.d.ts +0 -15
- package/dist/api/onboarding.d.ts.map +0 -1
- package/dist/api/onboarding.js +0 -679
- package/dist/api/onboarding.js.map +0 -1
- package/dist/api/policy.d.ts +0 -8
- package/dist/api/policy.d.ts.map +0 -1
- package/dist/api/policy.js +0 -229
- package/dist/api/policy.js.map +0 -1
- package/dist/api/provider-env.d.ts +0 -26
- package/dist/api/provider-env.d.ts.map +0 -1
- package/dist/api/provider-env.js +0 -141
- package/dist/api/provider-env.js.map +0 -1
- package/dist/api/providers.d.ts +0 -7
- package/dist/api/providers.d.ts.map +0 -1
- package/dist/api/providers.js +0 -574
- package/dist/api/providers.js.map +0 -1
- package/dist/api/repos.d.ts +0 -8
- package/dist/api/repos.d.ts.map +0 -1
- package/dist/api/repos.js +0 -577
- package/dist/api/repos.js.map +0 -1
- package/dist/api/sessions.d.ts +0 -11
- package/dist/api/sessions.d.ts.map +0 -1
- package/dist/api/sessions.js +0 -302
- package/dist/api/sessions.js.map +0 -1
- package/dist/api/teams.d.ts +0 -7
- package/dist/api/teams.d.ts.map +0 -1
- package/dist/api/teams.js +0 -281
- package/dist/api/teams.js.map +0 -1
- package/dist/api/test-helpers.d.ts +0 -10
- package/dist/api/test-helpers.d.ts.map +0 -1
- package/dist/api/test-helpers.js +0 -745
- package/dist/api/test-helpers.js.map +0 -1
- package/dist/api/usage.d.ts +0 -7
- package/dist/api/usage.d.ts.map +0 -1
- package/dist/api/usage.js +0 -111
- package/dist/api/usage.js.map +0 -1
- package/dist/api/webhooks.d.ts +0 -8
- package/dist/api/webhooks.d.ts.map +0 -1
- package/dist/api/webhooks.js +0 -645
- package/dist/api/webhooks.js.map +0 -1
- package/dist/api/workspaces.d.ts +0 -25
- package/dist/api/workspaces.d.ts.map +0 -1
- package/dist/api/workspaces.js +0 -1799
- package/dist/api/workspaces.js.map +0 -1
- package/dist/billing/index.d.ts +0 -9
- package/dist/billing/index.d.ts.map +0 -1
- package/dist/billing/index.js +0 -9
- package/dist/billing/index.js.map +0 -1
- package/dist/billing/plans.d.ts +0 -39
- package/dist/billing/plans.d.ts.map +0 -1
- package/dist/billing/plans.js +0 -245
- package/dist/billing/plans.js.map +0 -1
- package/dist/billing/service.d.ts +0 -80
- package/dist/billing/service.d.ts.map +0 -1
- package/dist/billing/service.js +0 -388
- package/dist/billing/service.js.map +0 -1
- package/dist/billing/types.d.ts +0 -141
- package/dist/billing/types.d.ts.map +0 -1
- package/dist/billing/types.js +0 -7
- package/dist/billing/types.js.map +0 -1
- package/dist/config.d.ts +0 -5
- package/dist/config.d.ts.map +0 -1
- package/dist/config.js +0 -5
- package/dist/config.js.map +0 -1
- package/dist/db/bulk-ingest.d.ts +0 -89
- package/dist/db/bulk-ingest.d.ts.map +0 -1
- package/dist/db/bulk-ingest.js +0 -268
- package/dist/db/bulk-ingest.js.map +0 -1
- package/dist/db/drizzle.d.ts +0 -290
- package/dist/db/drizzle.d.ts.map +0 -1
- package/dist/db/drizzle.js +0 -1422
- package/dist/db/drizzle.js.map +0 -1
- package/dist/db/index.d.ts +0 -56
- package/dist/db/index.d.ts.map +0 -1
- package/dist/db/index.js +0 -70
- package/dist/db/index.js.map +0 -1
- package/dist/db/schema.d.ts +0 -5117
- package/dist/db/schema.d.ts.map +0 -1
- package/dist/db/schema.js +0 -656
- package/dist/db/schema.js.map +0 -1
- package/dist/provisioner/index.d.ts +0 -207
- package/dist/provisioner/index.d.ts.map +0 -1
- package/dist/provisioner/index.js +0 -2118
- package/dist/provisioner/index.js.map +0 -1
- package/dist/server.d.ts +0 -17
- package/dist/server.d.ts.map +0 -1
- package/dist/server.js +0 -2055
- package/dist/server.js.map +0 -1
- package/dist/services/auto-scaler.d.ts +0 -152
- package/dist/services/auto-scaler.d.ts.map +0 -1
- package/dist/services/auto-scaler.js +0 -439
- package/dist/services/auto-scaler.js.map +0 -1
- package/dist/services/capacity-manager.d.ts +0 -148
- package/dist/services/capacity-manager.d.ts.map +0 -1
- package/dist/services/capacity-manager.js +0 -449
- package/dist/services/capacity-manager.js.map +0 -1
- package/dist/services/ci-agent-spawner.d.ts +0 -49
- package/dist/services/ci-agent-spawner.d.ts.map +0 -1
- package/dist/services/ci-agent-spawner.js +0 -373
- package/dist/services/ci-agent-spawner.js.map +0 -1
- package/dist/services/cloud-message-bus.d.ts +0 -28
- package/dist/services/cloud-message-bus.d.ts.map +0 -1
- package/dist/services/cloud-message-bus.js +0 -19
- package/dist/services/cloud-message-bus.js.map +0 -1
- package/dist/services/compute-enforcement.d.ts +0 -57
- package/dist/services/compute-enforcement.d.ts.map +0 -1
- package/dist/services/compute-enforcement.js +0 -175
- package/dist/services/compute-enforcement.js.map +0 -1
- package/dist/services/coordinator.d.ts +0 -62
- package/dist/services/coordinator.d.ts.map +0 -1
- package/dist/services/coordinator.js +0 -389
- package/dist/services/coordinator.js.map +0 -1
- package/dist/services/index.d.ts +0 -17
- package/dist/services/index.d.ts.map +0 -1
- package/dist/services/index.js +0 -25
- package/dist/services/index.js.map +0 -1
- package/dist/services/intro-expiration.d.ts +0 -60
- package/dist/services/intro-expiration.d.ts.map +0 -1
- package/dist/services/intro-expiration.js +0 -252
- package/dist/services/intro-expiration.js.map +0 -1
- package/dist/services/mention-handler.d.ts +0 -65
- package/dist/services/mention-handler.d.ts.map +0 -1
- package/dist/services/mention-handler.js +0 -405
- package/dist/services/mention-handler.js.map +0 -1
- package/dist/services/nango.d.ts +0 -219
- package/dist/services/nango.d.ts.map +0 -1
- package/dist/services/nango.js +0 -424
- package/dist/services/nango.js.map +0 -1
- package/dist/services/persistence.d.ts +0 -131
- package/dist/services/persistence.d.ts.map +0 -1
- package/dist/services/persistence.js +0 -200
- package/dist/services/persistence.js.map +0 -1
- package/dist/services/planLimits.d.ts +0 -147
- package/dist/services/planLimits.d.ts.map +0 -1
- package/dist/services/planLimits.js +0 -335
- package/dist/services/planLimits.js.map +0 -1
- package/dist/services/presence-registry.d.ts +0 -56
- package/dist/services/presence-registry.d.ts.map +0 -1
- package/dist/services/presence-registry.js +0 -91
- package/dist/services/presence-registry.js.map +0 -1
- package/dist/services/scaling-orchestrator.d.ts +0 -159
- package/dist/services/scaling-orchestrator.d.ts.map +0 -1
- package/dist/services/scaling-orchestrator.js +0 -502
- package/dist/services/scaling-orchestrator.js.map +0 -1
- package/dist/services/scaling-policy.d.ts +0 -121
- package/dist/services/scaling-policy.d.ts.map +0 -1
- package/dist/services/scaling-policy.js +0 -415
- package/dist/services/scaling-policy.js.map +0 -1
- package/dist/services/ssh-security.d.ts +0 -31
- package/dist/services/ssh-security.d.ts.map +0 -1
- package/dist/services/ssh-security.js +0 -63
- package/dist/services/ssh-security.js.map +0 -1
- package/dist/services/workspace-keepalive.d.ts +0 -76
- package/dist/services/workspace-keepalive.d.ts.map +0 -1
- package/dist/services/workspace-keepalive.js +0 -234
- package/dist/services/workspace-keepalive.js.map +0 -1
- package/dist/shims/consensus.d.ts +0 -23
- package/dist/shims/consensus.d.ts.map +0 -1
- package/dist/shims/consensus.js +0 -5
- package/dist/shims/consensus.js.map +0 -1
- package/dist/webhooks/index.d.ts +0 -24
- package/dist/webhooks/index.d.ts.map +0 -1
- package/dist/webhooks/index.js +0 -29
- package/dist/webhooks/index.js.map +0 -1
- package/dist/webhooks/parsers/github.d.ts +0 -8
- package/dist/webhooks/parsers/github.d.ts.map +0 -1
- package/dist/webhooks/parsers/github.js +0 -234
- package/dist/webhooks/parsers/github.js.map +0 -1
- package/dist/webhooks/parsers/index.d.ts +0 -23
- package/dist/webhooks/parsers/index.d.ts.map +0 -1
- package/dist/webhooks/parsers/index.js +0 -30
- package/dist/webhooks/parsers/index.js.map +0 -1
- package/dist/webhooks/parsers/linear.d.ts +0 -9
- package/dist/webhooks/parsers/linear.d.ts.map +0 -1
- package/dist/webhooks/parsers/linear.js +0 -258
- package/dist/webhooks/parsers/linear.js.map +0 -1
- package/dist/webhooks/parsers/slack.d.ts +0 -9
- package/dist/webhooks/parsers/slack.d.ts.map +0 -1
- package/dist/webhooks/parsers/slack.js +0 -214
- package/dist/webhooks/parsers/slack.js.map +0 -1
- package/dist/webhooks/responders/github.d.ts +0 -8
- package/dist/webhooks/responders/github.d.ts.map +0 -1
- package/dist/webhooks/responders/github.js +0 -73
- package/dist/webhooks/responders/github.js.map +0 -1
- package/dist/webhooks/responders/index.d.ts +0 -23
- package/dist/webhooks/responders/index.d.ts.map +0 -1
- package/dist/webhooks/responders/index.js +0 -30
- package/dist/webhooks/responders/index.js.map +0 -1
- package/dist/webhooks/responders/linear.d.ts +0 -9
- package/dist/webhooks/responders/linear.d.ts.map +0 -1
- package/dist/webhooks/responders/linear.js +0 -149
- package/dist/webhooks/responders/linear.js.map +0 -1
- package/dist/webhooks/responders/slack.d.ts +0 -20
- package/dist/webhooks/responders/slack.d.ts.map +0 -1
- package/dist/webhooks/responders/slack.js +0 -178
- package/dist/webhooks/responders/slack.js.map +0 -1
- package/dist/webhooks/router.d.ts +0 -25
- package/dist/webhooks/router.d.ts.map +0 -1
- package/dist/webhooks/router.js +0 -504
- package/dist/webhooks/router.js.map +0 -1
- package/dist/webhooks/rules-engine.d.ts +0 -24
- package/dist/webhooks/rules-engine.d.ts.map +0 -1
- package/dist/webhooks/rules-engine.js +0 -287
- package/dist/webhooks/rules-engine.js.map +0 -1
- package/dist/webhooks/types.d.ts +0 -186
- package/dist/webhooks/types.d.ts.map +0 -1
- package/dist/webhooks/types.js +0 -8
- package/dist/webhooks/types.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,UAAU,GAAG;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,aAAa,EAAE,OAAO,CAAC;IACvB,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC;IAC5B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,IAAI,EAAE;QACJ,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;QACrB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QACpB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;KAC1B,CAAC;IACF,mBAAmB,EAAE;QACnB,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,gBAAgB,EAAE;QAChB,EAAE,EAAE,MAAM,CAAC;QACX,eAAe,EAAE,MAAM,CAAC;QACxB,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE;QACH,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;AAEpD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,OAAO,CAAC;IACd,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,OAAO,CAAC;IACpB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB,CAAC;AAEF,eAAO,MAAM,mBAAmB,2EAA4E,CAAC;AAE7G,eAAO,MAAM,iBAAiB,QAAS,CAAC;AACxC,eAAO,MAAM,cAAc,QAA6D,CAAC;AAEzF,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAE7D"}
|
package/dist/types.js
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import os from 'node:os';
|
|
2
|
+
import path from 'node:path';
|
|
3
|
+
export const SUPPORTED_PROVIDERS = ['anthropic', 'openai', 'google', 'cursor', 'opencode', 'droid'];
|
|
4
|
+
export const REFRESH_WINDOW_MS = 60_000;
|
|
5
|
+
export const AUTH_FILE_PATH = path.join(os.homedir(), '.agent-relay', 'cloud-auth.json');
|
|
6
|
+
export function defaultApiUrl() {
|
|
7
|
+
return process.env.CLOUD_API_URL?.trim() || 'https://agentrelay.com/cloud';
|
|
8
|
+
}
|
|
9
|
+
export function isSupportedProvider(provider) {
|
|
10
|
+
return SUPPORTED_PROVIDERS.includes(provider);
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AA6E7B,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,CAAU,CAAC;AAE7G,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC;AACxC,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,cAAc,EAAE,iBAAiB,CAAC,CAAC;AAEzF,MAAM,UAAU,aAAa;IAC3B,OAAO,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,EAAE,IAAI,8BAA8B,CAAC;AAC7E,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,QAAgB;IAClD,OAAO,mBAAmB,CAAC,QAAQ,CAAC,QAAgD,CAAC,CAAC;AACxF,CAAC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { type WorkflowFileType, type RunWorkflowResponse, type WorkflowLogsResponse, type SyncPatchResponse } from './types.js';
|
|
2
|
+
type ResolvedWorkflowInput = {
|
|
3
|
+
workflow: string;
|
|
4
|
+
fileType: WorkflowFileType;
|
|
5
|
+
sourceFileType?: WorkflowFileType;
|
|
6
|
+
};
|
|
7
|
+
type RunWorkflowOptions = {
|
|
8
|
+
apiUrl?: string;
|
|
9
|
+
fileType?: WorkflowFileType;
|
|
10
|
+
syncCode?: boolean;
|
|
11
|
+
};
|
|
12
|
+
export declare function inferWorkflowFileType(filePath: string): WorkflowFileType | null;
|
|
13
|
+
export declare function shouldSyncCodeByDefault(_workflowArg: string, _explicitFileType?: WorkflowFileType): boolean;
|
|
14
|
+
export declare function resolveWorkflowInput(workflowArg: string, explicitFileType?: WorkflowFileType): Promise<ResolvedWorkflowInput>;
|
|
15
|
+
export declare function runWorkflow(workflowArg: string, options?: RunWorkflowOptions): Promise<RunWorkflowResponse>;
|
|
16
|
+
export declare function getRunStatus(runId: string, options?: {
|
|
17
|
+
apiUrl?: string;
|
|
18
|
+
}): Promise<Record<string, unknown>>;
|
|
19
|
+
export declare function cancelWorkflow(runId: string, options?: {
|
|
20
|
+
apiUrl?: string;
|
|
21
|
+
}): Promise<{
|
|
22
|
+
runId: string;
|
|
23
|
+
status: string;
|
|
24
|
+
}>;
|
|
25
|
+
export declare function getRunLogs(runId: string, options?: {
|
|
26
|
+
apiUrl?: string;
|
|
27
|
+
offset?: number;
|
|
28
|
+
sandboxId?: string;
|
|
29
|
+
}): Promise<WorkflowLogsResponse>;
|
|
30
|
+
export declare function syncWorkflowPatch(runId: string, options?: {
|
|
31
|
+
apiUrl?: string;
|
|
32
|
+
}): Promise<SyncPatchResponse>;
|
|
33
|
+
/**
|
|
34
|
+
* Turn the user-typed workflow path into a path **relative to the tarball
|
|
35
|
+
* root** (process.cwd()) that the cloud launcher can append to
|
|
36
|
+
* `/project/` to locate the file inside the synced code tree.
|
|
37
|
+
*
|
|
38
|
+
* Returns `null` when the result would escape the tarball (absolute
|
|
39
|
+
* outside cwd, or contains `..`). Callers drop the hint in that case —
|
|
40
|
+
* the server falls back to the legacy $HOME upload path, which still
|
|
41
|
+
* works (it just breaks sibling-relative imports, the pre-existing
|
|
42
|
+
* behaviour this field was added to fix).
|
|
43
|
+
*/
|
|
44
|
+
export declare function relativizeWorkflowPath(workflowArg: string): string | null;
|
|
45
|
+
export {};
|
|
46
|
+
//# sourceMappingURL=workflows.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflows.d.ts","sourceRoot":"","sources":["../src/workflows.ts"],"names":[],"mappings":"AAQA,OAAO,EAEL,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EACvB,MAAM,YAAY,CAAC;AAEpB,KAAK,qBAAqB,GAAG;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,cAAc,CAAC,EAAE,gBAAgB,CAAC;CACnC,CAAC;AAgBF,KAAK,kBAAkB,GAAG;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AA8FF,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI,CAe/E;AAED,wBAAgB,uBAAuB,CAAC,YAAY,EAAE,MAAM,EAAE,iBAAiB,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAE3G;AAED,wBAAsB,oBAAoB,CACxC,WAAW,EAAE,MAAM,EACnB,gBAAgB,CAAC,EAAE,gBAAgB,GAClC,OAAO,CAAC,qBAAqB,CAAC,CA+BhC;AAED,wBAAsB,WAAW,CAC/B,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAAC,mBAAmB,CAAC,CAkH9B;AAED,wBAAsB,YAAY,CAChC,KAAK,EAAE,MAAM,EACb,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAO,GAChC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAiBlC;AAED,wBAAsB,cAAc,CAClC,KAAK,EAAE,MAAM,EACb,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAO,GAChC,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAsB5C;AAED,wBAAsB,UAAU,CAC9B,KAAK,EAAE,MAAM,EACb,OAAO,GAAE;IACP,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;CACf,GACL,OAAO,CAAC,oBAAoB,CAAC,CAkC/B;AAED,wBAAsB,iBAAiB,CACrC,KAAK,EAAE,MAAM,EACb,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAO,GAChC,OAAO,CAAC,iBAAiB,CAAC,CA2C5B;AA6ID;;;;;;;;;;GAUG;AACH,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAUzE"}
|
|
@@ -0,0 +1,464 @@
|
|
|
1
|
+
import fs from 'node:fs/promises';
|
|
2
|
+
import path from 'node:path';
|
|
3
|
+
import { PutObjectCommand, S3Client } from '@aws-sdk/client-s3';
|
|
4
|
+
import ignore from 'ignore';
|
|
5
|
+
import * as tar from 'tar';
|
|
6
|
+
import { ensureAuthenticated, authorizedApiFetch } from './auth.js';
|
|
7
|
+
import { defaultApiUrl, } from './types.js';
|
|
8
|
+
const CODE_SYNC_EXCLUDES = [
|
|
9
|
+
'.git',
|
|
10
|
+
'node_modules',
|
|
11
|
+
'.sst',
|
|
12
|
+
'.next',
|
|
13
|
+
'.open-next',
|
|
14
|
+
'.env',
|
|
15
|
+
'.env.*',
|
|
16
|
+
'.env.local',
|
|
17
|
+
'.env.production',
|
|
18
|
+
'*.pem',
|
|
19
|
+
'*.key',
|
|
20
|
+
'credentials.json',
|
|
21
|
+
'.aws',
|
|
22
|
+
'.ssh',
|
|
23
|
+
];
|
|
24
|
+
function validateYamlWorkflow(content) {
|
|
25
|
+
const hasField = (field) => new RegExp(`^${field}\\s*:`, 'm').test(content);
|
|
26
|
+
if (!hasField('version')) {
|
|
27
|
+
throw new Error('missing required field "version"');
|
|
28
|
+
}
|
|
29
|
+
if (!hasField('swarm')) {
|
|
30
|
+
throw new Error('missing required field "swarm"');
|
|
31
|
+
}
|
|
32
|
+
if (!hasField('agents')) {
|
|
33
|
+
throw new Error('missing required field "agents"');
|
|
34
|
+
}
|
|
35
|
+
if (!hasField('workflows')) {
|
|
36
|
+
throw new Error('missing required field "workflows"');
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
async function validateTypeScriptWorkflow(content) {
|
|
40
|
+
// Strategy: use bun's built-in TS transpiler when available (the CLI is
|
|
41
|
+
// bun-compiled, so this covers the common case with zero external deps).
|
|
42
|
+
// Fall back to esbuild for Node.js environments, and skip validation
|
|
43
|
+
// gracefully if neither is available — the cloud sandbox will catch real
|
|
44
|
+
// syntax errors at execution time anyway.
|
|
45
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
46
|
+
const Bun = globalThis.Bun;
|
|
47
|
+
if (typeof Bun !== 'undefined') {
|
|
48
|
+
try {
|
|
49
|
+
// Bun.build validates TS syntax during transpilation. A syntax error
|
|
50
|
+
// throws synchronously or returns build failures.
|
|
51
|
+
const result = await Bun.build({
|
|
52
|
+
stdin: { contents: content, loader: 'ts' },
|
|
53
|
+
throw: false,
|
|
54
|
+
});
|
|
55
|
+
if (!result.success && result.logs?.length) {
|
|
56
|
+
const errors = result.logs
|
|
57
|
+
.filter((l) => l.level === 'error')
|
|
58
|
+
.map((l) => l.message)
|
|
59
|
+
.join('\n');
|
|
60
|
+
if (errors) {
|
|
61
|
+
throw new Error(`Workflow file has syntax errors:\n${errors}`);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
catch (error) {
|
|
67
|
+
if (error instanceof Error && error.message.startsWith('Workflow file has syntax errors')) {
|
|
68
|
+
throw error;
|
|
69
|
+
}
|
|
70
|
+
// Bun.build failed for a non-syntax reason — skip validation
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
// Fallback: try esbuild via npx (for Node.js environments)
|
|
75
|
+
try {
|
|
76
|
+
const { execSync } = await import('node:child_process');
|
|
77
|
+
execSync('npx --yes esbuild --loader=ts', {
|
|
78
|
+
input: content,
|
|
79
|
+
encoding: 'utf-8',
|
|
80
|
+
stdio: ['pipe', 'pipe', 'pipe'],
|
|
81
|
+
timeout: 30000,
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
catch (error) {
|
|
85
|
+
const err = error;
|
|
86
|
+
const stderr = typeof err.stderr === 'string' ? err.stderr.trim() : '';
|
|
87
|
+
// Skip validation when esbuild/npx is unavailable: killed by timeout,
|
|
88
|
+
// no exit status, exit 127 (command not found), or stderr mentions
|
|
89
|
+
// "command not found" / "not found".
|
|
90
|
+
if (err.killed || !err.status || err.status === 127 || /command not found|not found/i.test(stderr)) {
|
|
91
|
+
return;
|
|
92
|
+
}
|
|
93
|
+
const message = stderr || 'TypeScript validation failed';
|
|
94
|
+
throw new Error(`Workflow file has syntax errors:\n${message}`);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
export function inferWorkflowFileType(filePath) {
|
|
98
|
+
const ext = path.extname(filePath).toLowerCase();
|
|
99
|
+
switch (ext) {
|
|
100
|
+
case '.yaml':
|
|
101
|
+
case '.yml':
|
|
102
|
+
return 'yaml';
|
|
103
|
+
case '.ts':
|
|
104
|
+
case '.mts':
|
|
105
|
+
case '.cts':
|
|
106
|
+
return 'ts';
|
|
107
|
+
case '.py':
|
|
108
|
+
return 'py';
|
|
109
|
+
default:
|
|
110
|
+
return null;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
export function shouldSyncCodeByDefault(_workflowArg, _explicitFileType) {
|
|
114
|
+
return true;
|
|
115
|
+
}
|
|
116
|
+
export async function resolveWorkflowInput(workflowArg, explicitFileType) {
|
|
117
|
+
const looksLikeFile = path.isAbsolute(workflowArg) ||
|
|
118
|
+
workflowArg.includes(path.sep) ||
|
|
119
|
+
inferWorkflowFileType(workflowArg) !== null;
|
|
120
|
+
try {
|
|
121
|
+
const workflow = await fs.readFile(workflowArg, 'utf-8');
|
|
122
|
+
const fileType = explicitFileType ?? inferWorkflowFileType(workflowArg);
|
|
123
|
+
if (!fileType) {
|
|
124
|
+
throw new Error(`Could not infer workflow type from ${workflowArg}. Use --file-type.`);
|
|
125
|
+
}
|
|
126
|
+
return { workflow, fileType };
|
|
127
|
+
}
|
|
128
|
+
catch (error) {
|
|
129
|
+
const err = error;
|
|
130
|
+
if (err.code === 'EISDIR') {
|
|
131
|
+
throw new Error(`Workflow path is not a file: ${workflowArg}`);
|
|
132
|
+
}
|
|
133
|
+
if (!isMissingFileError(error)) {
|
|
134
|
+
throw error;
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
if (looksLikeFile) {
|
|
138
|
+
throw new Error(`Workflow file not found: ${workflowArg}`);
|
|
139
|
+
}
|
|
140
|
+
return {
|
|
141
|
+
workflow: workflowArg,
|
|
142
|
+
fileType: explicitFileType ?? 'yaml',
|
|
143
|
+
};
|
|
144
|
+
}
|
|
145
|
+
export async function runWorkflow(workflowArg, options = {}) {
|
|
146
|
+
const apiUrl = options.apiUrl ?? defaultApiUrl();
|
|
147
|
+
let auth = await ensureAuthenticated(apiUrl);
|
|
148
|
+
const input = await resolveWorkflowInput(workflowArg, options.fileType);
|
|
149
|
+
if (input.fileType === 'ts') {
|
|
150
|
+
await validateTypeScriptWorkflow(input.workflow);
|
|
151
|
+
}
|
|
152
|
+
else if (input.fileType === 'yaml') {
|
|
153
|
+
console.error('Validating workflow...');
|
|
154
|
+
validateYamlWorkflow(input.workflow);
|
|
155
|
+
}
|
|
156
|
+
const syncCode = options.syncCode ?? shouldSyncCodeByDefault(workflowArg, options.fileType);
|
|
157
|
+
const requestBody = {
|
|
158
|
+
workflow: input.workflow,
|
|
159
|
+
fileType: input.fileType,
|
|
160
|
+
};
|
|
161
|
+
if (input.sourceFileType) {
|
|
162
|
+
requestBody.sourceFileType = input.sourceFileType;
|
|
163
|
+
}
|
|
164
|
+
if (syncCode) {
|
|
165
|
+
const t0 = Date.now();
|
|
166
|
+
console.error('Preparing run...');
|
|
167
|
+
const { response: prepResponse, auth: prepAuth } = await authorizedApiFetch(auth, '/api/v1/workflows/prepare', {
|
|
168
|
+
method: 'POST',
|
|
169
|
+
headers: { Accept: 'application/json' },
|
|
170
|
+
});
|
|
171
|
+
auth = prepAuth;
|
|
172
|
+
const prepPayload = await readJsonResponse(prepResponse);
|
|
173
|
+
if (!prepResponse.ok) {
|
|
174
|
+
throw new Error(`Workflow prepare failed: ${describeResponseError(prepResponse, prepPayload)}`);
|
|
175
|
+
}
|
|
176
|
+
if (!isPrepareWorkflowResponse(prepPayload)) {
|
|
177
|
+
throw new Error('Workflow prepare response was not valid JSON.');
|
|
178
|
+
}
|
|
179
|
+
const prepared = prepPayload;
|
|
180
|
+
console.error(` Prepared in ${((Date.now() - t0) / 1000).toFixed(1)}s`);
|
|
181
|
+
const t1 = Date.now();
|
|
182
|
+
console.error('Creating tarball...');
|
|
183
|
+
const s3Client = createScopedS3Client(prepared.s3Credentials);
|
|
184
|
+
const tarball = await createTarball(process.cwd());
|
|
185
|
+
console.error(` Tarball: ${(tarball.length / 1024).toFixed(0)}KB in ${((Date.now() - t1) / 1000).toFixed(1)}s`);
|
|
186
|
+
const t2 = Date.now();
|
|
187
|
+
console.error('Uploading to S3...');
|
|
188
|
+
const key = scopedCodeKey(prepared.s3Credentials.prefix, prepared.s3CodeKey);
|
|
189
|
+
await s3Client.send(new PutObjectCommand({
|
|
190
|
+
Bucket: prepared.s3Credentials.bucket,
|
|
191
|
+
Key: key,
|
|
192
|
+
Body: tarball,
|
|
193
|
+
ContentType: 'application/gzip',
|
|
194
|
+
}));
|
|
195
|
+
console.error(` Uploaded in ${((Date.now() - t2) / 1000).toFixed(1)}s`);
|
|
196
|
+
requestBody.runId = prepared.runId;
|
|
197
|
+
requestBody.s3CodeKey = prepared.s3CodeKey;
|
|
198
|
+
// Send the workflow's path inside the synced tarball so the cloud
|
|
199
|
+
// launcher can set WORKFLOW_FILE directly — no $HOME upload dance,
|
|
200
|
+
// sibling-relative imports (e.g. `../shared/models.ts`) resolve
|
|
201
|
+
// against the repo layout. The tarball was produced from
|
|
202
|
+
// process.cwd(), so relativize the user-typed argument against cwd.
|
|
203
|
+
//
|
|
204
|
+
// Absolute paths outside cwd OR paths that would escape the tarball
|
|
205
|
+
// via `..` are dropped silently — the server falls back to the
|
|
206
|
+
// legacy $HOME upload path in that case.
|
|
207
|
+
const workflowPath = relativizeWorkflowPath(workflowArg);
|
|
208
|
+
if (workflowPath) {
|
|
209
|
+
requestBody.workflowPath = workflowPath;
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
const t3 = Date.now();
|
|
213
|
+
console.error('Launching workflow...');
|
|
214
|
+
const { response, auth: updatedAuth } = await authorizedApiFetch(auth, '/api/v1/workflows/run', {
|
|
215
|
+
method: 'POST',
|
|
216
|
+
headers: {
|
|
217
|
+
'Content-Type': 'application/json',
|
|
218
|
+
Accept: 'application/json',
|
|
219
|
+
},
|
|
220
|
+
body: JSON.stringify(requestBody),
|
|
221
|
+
});
|
|
222
|
+
auth = updatedAuth;
|
|
223
|
+
console.error(` Launched in ${((Date.now() - t3) / 1000).toFixed(1)}s`);
|
|
224
|
+
const payload = await readJsonResponse(response);
|
|
225
|
+
if (!response.ok) {
|
|
226
|
+
throw new Error(`Workflow run failed: ${describeResponseError(response, payload)}`);
|
|
227
|
+
}
|
|
228
|
+
if (!payload ||
|
|
229
|
+
typeof payload !== 'object' ||
|
|
230
|
+
typeof payload.runId !== 'string' ||
|
|
231
|
+
typeof payload.status !== 'string') {
|
|
232
|
+
throw new Error('Workflow run response was not valid JSON.');
|
|
233
|
+
}
|
|
234
|
+
return payload;
|
|
235
|
+
}
|
|
236
|
+
export async function getRunStatus(runId, options = {}) {
|
|
237
|
+
const apiUrl = options.apiUrl ?? defaultApiUrl();
|
|
238
|
+
const auth = await ensureAuthenticated(apiUrl);
|
|
239
|
+
const { response } = await authorizedApiFetch(auth, `/api/v1/workflows/runs/${encodeURIComponent(runId)}`, {
|
|
240
|
+
headers: { Accept: 'application/json' },
|
|
241
|
+
});
|
|
242
|
+
const payload = await readJsonResponse(response);
|
|
243
|
+
if (!response.ok) {
|
|
244
|
+
throw new Error(`Status request failed: ${describeResponseError(response, payload)}`);
|
|
245
|
+
}
|
|
246
|
+
if (!payload || typeof payload !== 'object' || Array.isArray(payload)) {
|
|
247
|
+
throw new Error('Status response was not valid JSON.');
|
|
248
|
+
}
|
|
249
|
+
return payload;
|
|
250
|
+
}
|
|
251
|
+
export async function cancelWorkflow(runId, options = {}) {
|
|
252
|
+
const apiUrl = options.apiUrl ?? defaultApiUrl();
|
|
253
|
+
const auth = await ensureAuthenticated(apiUrl);
|
|
254
|
+
const { response } = await authorizedApiFetch(auth, `/api/v1/workflows/runs/${encodeURIComponent(runId)}/cancel`, {
|
|
255
|
+
method: 'POST',
|
|
256
|
+
headers: { Accept: 'application/json' },
|
|
257
|
+
});
|
|
258
|
+
const payload = await readJsonResponse(response);
|
|
259
|
+
if (!response.ok) {
|
|
260
|
+
throw new Error(`Cancel failed: ${describeResponseError(response, payload)}`);
|
|
261
|
+
}
|
|
262
|
+
if (!payload || typeof payload !== 'object' || Array.isArray(payload)) {
|
|
263
|
+
throw new Error('Cancel response was not valid JSON.');
|
|
264
|
+
}
|
|
265
|
+
return payload;
|
|
266
|
+
}
|
|
267
|
+
export async function getRunLogs(runId, options = {}) {
|
|
268
|
+
const apiUrl = options.apiUrl ?? defaultApiUrl();
|
|
269
|
+
const auth = await ensureAuthenticated(apiUrl);
|
|
270
|
+
const searchParams = new URLSearchParams();
|
|
271
|
+
if (typeof options.offset === 'number') {
|
|
272
|
+
searchParams.set('offset', String(options.offset));
|
|
273
|
+
}
|
|
274
|
+
if (options.sandboxId) {
|
|
275
|
+
searchParams.set('sandboxId', options.sandboxId);
|
|
276
|
+
}
|
|
277
|
+
const requestPath = `/api/v1/workflows/runs/${encodeURIComponent(runId)}/logs${searchParams.size ? `?${searchParams.toString()}` : ''}`;
|
|
278
|
+
const { response } = await authorizedApiFetch(auth, requestPath, {
|
|
279
|
+
headers: { Accept: 'application/json' },
|
|
280
|
+
});
|
|
281
|
+
const payload = await readJsonResponse(response);
|
|
282
|
+
if (!response.ok) {
|
|
283
|
+
throw new Error(`Log request failed: ${describeResponseError(response, payload)}`);
|
|
284
|
+
}
|
|
285
|
+
if (!payload ||
|
|
286
|
+
typeof payload !== 'object' ||
|
|
287
|
+
typeof payload.content !== 'string' ||
|
|
288
|
+
typeof payload.offset !== 'number' ||
|
|
289
|
+
typeof payload.totalSize !== 'number' ||
|
|
290
|
+
typeof payload.done !== 'boolean') {
|
|
291
|
+
throw new Error('Log response was not valid JSON.');
|
|
292
|
+
}
|
|
293
|
+
return payload;
|
|
294
|
+
}
|
|
295
|
+
export async function syncWorkflowPatch(runId, options = {}) {
|
|
296
|
+
const apiUrl = options.apiUrl ?? defaultApiUrl();
|
|
297
|
+
let auth = await ensureAuthenticated(apiUrl);
|
|
298
|
+
// Verify the run is completed
|
|
299
|
+
const { response: statusResponse, auth: a1 } = await authorizedApiFetch(auth, `/api/v1/workflows/runs/${encodeURIComponent(runId)}`, { headers: { Accept: 'application/json' } });
|
|
300
|
+
auth = a1;
|
|
301
|
+
if (!statusResponse.ok) {
|
|
302
|
+
const payload = await readJsonResponse(statusResponse);
|
|
303
|
+
throw new Error(`Failed to fetch run status: ${describeResponseError(statusResponse, payload)}`);
|
|
304
|
+
}
|
|
305
|
+
const runData = (await statusResponse.json());
|
|
306
|
+
if (runData.status !== 'completed' && runData.status !== 'failed' && runData.status !== 'cancelled') {
|
|
307
|
+
throw new Error(`Run is still ${runData.status ?? 'unknown'}. Wait for completion before syncing.`);
|
|
308
|
+
}
|
|
309
|
+
// Download the patch
|
|
310
|
+
const { response } = await authorizedApiFetch(auth, `/api/v1/workflows/runs/${encodeURIComponent(runId)}/patch`, { headers: { Accept: 'application/json' } });
|
|
311
|
+
const payload = await readJsonResponse(response);
|
|
312
|
+
if (!response.ok) {
|
|
313
|
+
throw new Error(`Patch download failed: ${describeResponseError(response, payload)}`);
|
|
314
|
+
}
|
|
315
|
+
if (!payload ||
|
|
316
|
+
typeof payload !== 'object' ||
|
|
317
|
+
typeof payload.hasChanges !== 'boolean') {
|
|
318
|
+
throw new Error('Patch response was not valid JSON.');
|
|
319
|
+
}
|
|
320
|
+
return payload;
|
|
321
|
+
}
|
|
322
|
+
// ── Internal helpers ──────────────────────────────────────────────────────────
|
|
323
|
+
async function readJsonResponse(response) {
|
|
324
|
+
const rawBody = await response.text();
|
|
325
|
+
if (!rawBody) {
|
|
326
|
+
return null;
|
|
327
|
+
}
|
|
328
|
+
try {
|
|
329
|
+
return JSON.parse(rawBody);
|
|
330
|
+
}
|
|
331
|
+
catch {
|
|
332
|
+
return rawBody;
|
|
333
|
+
}
|
|
334
|
+
}
|
|
335
|
+
function describeResponseError(response, payload) {
|
|
336
|
+
if (typeof payload === 'string' && payload.trim()) {
|
|
337
|
+
return `${response.status} ${response.statusText}: ${payload.trim()}`;
|
|
338
|
+
}
|
|
339
|
+
if (payload && typeof payload === 'object' && !Array.isArray(payload)) {
|
|
340
|
+
const record = payload;
|
|
341
|
+
const message = record.error ?? record.message;
|
|
342
|
+
if (typeof message === 'string' && message.trim()) {
|
|
343
|
+
return `${response.status} ${response.statusText}: ${message.trim()}`;
|
|
344
|
+
}
|
|
345
|
+
}
|
|
346
|
+
return `${response.status} ${response.statusText}`;
|
|
347
|
+
}
|
|
348
|
+
function isMissingFileError(error) {
|
|
349
|
+
return Boolean(error && typeof error === 'object' && 'code' in error && error.code === 'ENOENT');
|
|
350
|
+
}
|
|
351
|
+
function isPrepareWorkflowResponse(payload) {
|
|
352
|
+
if (!payload || typeof payload !== 'object' || Array.isArray(payload)) {
|
|
353
|
+
return false;
|
|
354
|
+
}
|
|
355
|
+
const record = payload;
|
|
356
|
+
const s3Creds = record.s3Credentials;
|
|
357
|
+
if (!s3Creds || typeof s3Creds !== 'object' || Array.isArray(s3Creds)) {
|
|
358
|
+
return false;
|
|
359
|
+
}
|
|
360
|
+
const creds = s3Creds;
|
|
361
|
+
return (typeof record.runId === 'string' &&
|
|
362
|
+
typeof record.s3CodeKey === 'string' &&
|
|
363
|
+
typeof creds.accessKeyId === 'string' &&
|
|
364
|
+
typeof creds.secretAccessKey === 'string' &&
|
|
365
|
+
typeof creds.sessionToken === 'string' &&
|
|
366
|
+
typeof creds.bucket === 'string' &&
|
|
367
|
+
typeof creds.prefix === 'string');
|
|
368
|
+
}
|
|
369
|
+
function createScopedS3Client(s3Credentials) {
|
|
370
|
+
return new S3Client({
|
|
371
|
+
region: process.env.AWS_REGION ?? process.env.AWS_DEFAULT_REGION ?? 'us-east-1',
|
|
372
|
+
credentials: {
|
|
373
|
+
accessKeyId: s3Credentials.accessKeyId,
|
|
374
|
+
secretAccessKey: s3Credentials.secretAccessKey,
|
|
375
|
+
sessionToken: s3Credentials.sessionToken,
|
|
376
|
+
},
|
|
377
|
+
});
|
|
378
|
+
}
|
|
379
|
+
async function createTarball(rootDir) {
|
|
380
|
+
const absoluteRoot = path.resolve(rootDir);
|
|
381
|
+
try {
|
|
382
|
+
const { execSync } = await import('node:child_process');
|
|
383
|
+
const gitFiles = execSync('git ls-files -z', {
|
|
384
|
+
cwd: absoluteRoot,
|
|
385
|
+
encoding: 'utf-8',
|
|
386
|
+
maxBuffer: 50 * 1024 * 1024,
|
|
387
|
+
});
|
|
388
|
+
const files = gitFiles.split('\0').filter(Boolean);
|
|
389
|
+
if (files.length > 0) {
|
|
390
|
+
const tarStream = tar.create({ gzip: true, cwd: absoluteRoot, portable: true }, files);
|
|
391
|
+
const chunks = [];
|
|
392
|
+
for await (const chunk of tarStream) {
|
|
393
|
+
chunks.push(Buffer.from(chunk));
|
|
394
|
+
}
|
|
395
|
+
return Buffer.concat(chunks);
|
|
396
|
+
}
|
|
397
|
+
}
|
|
398
|
+
catch {
|
|
399
|
+
// Not a git repo or git not available — fall back to ignore-based filter
|
|
400
|
+
}
|
|
401
|
+
const ig = await buildIgnoreMatcher(absoluteRoot);
|
|
402
|
+
const tarStream = tar.create({
|
|
403
|
+
gzip: true,
|
|
404
|
+
cwd: absoluteRoot,
|
|
405
|
+
portable: true,
|
|
406
|
+
filter(entryPath) {
|
|
407
|
+
const normalized = normalizeEntryPath(entryPath);
|
|
408
|
+
if (!normalized || normalized === '.')
|
|
409
|
+
return true;
|
|
410
|
+
return !ig.ignores(normalized);
|
|
411
|
+
},
|
|
412
|
+
}, ['.']);
|
|
413
|
+
const chunks = [];
|
|
414
|
+
for await (const chunk of tarStream) {
|
|
415
|
+
chunks.push(Buffer.from(chunk));
|
|
416
|
+
}
|
|
417
|
+
return Buffer.concat(chunks);
|
|
418
|
+
}
|
|
419
|
+
async function buildIgnoreMatcher(rootDir) {
|
|
420
|
+
const ig = ignore();
|
|
421
|
+
ig.add(CODE_SYNC_EXCLUDES);
|
|
422
|
+
try {
|
|
423
|
+
const gitignoreContent = await fs.readFile(path.join(rootDir, '.gitignore'), 'utf-8');
|
|
424
|
+
ig.add(gitignoreContent);
|
|
425
|
+
}
|
|
426
|
+
catch (error) {
|
|
427
|
+
if (!isMissingFileError(error)) {
|
|
428
|
+
throw error;
|
|
429
|
+
}
|
|
430
|
+
}
|
|
431
|
+
return ig;
|
|
432
|
+
}
|
|
433
|
+
function normalizeEntryPath(entryPath) {
|
|
434
|
+
return entryPath.replace(/^\.\//, '').replace(/\\/g, '/');
|
|
435
|
+
}
|
|
436
|
+
function scopedCodeKey(prefix, key) {
|
|
437
|
+
return [prefix, key].filter(Boolean).join('/');
|
|
438
|
+
}
|
|
439
|
+
/**
|
|
440
|
+
* Turn the user-typed workflow path into a path **relative to the tarball
|
|
441
|
+
* root** (process.cwd()) that the cloud launcher can append to
|
|
442
|
+
* `/project/` to locate the file inside the synced code tree.
|
|
443
|
+
*
|
|
444
|
+
* Returns `null` when the result would escape the tarball (absolute
|
|
445
|
+
* outside cwd, or contains `..`). Callers drop the hint in that case —
|
|
446
|
+
* the server falls back to the legacy $HOME upload path, which still
|
|
447
|
+
* works (it just breaks sibling-relative imports, the pre-existing
|
|
448
|
+
* behaviour this field was added to fix).
|
|
449
|
+
*/
|
|
450
|
+
export function relativizeWorkflowPath(workflowArg) {
|
|
451
|
+
const absolute = path.resolve(process.cwd(), workflowArg);
|
|
452
|
+
let rel = path.relative(process.cwd(), absolute);
|
|
453
|
+
if (rel.length === 0)
|
|
454
|
+
return null;
|
|
455
|
+
// Normalize to forward slashes so the server-side validator (which
|
|
456
|
+
// runs on Linux Lambda) gets the same shape regardless of the CLI OS.
|
|
457
|
+
rel = rel.split(path.sep).join('/');
|
|
458
|
+
if (rel.startsWith('../') || rel === '..')
|
|
459
|
+
return null;
|
|
460
|
+
if (path.isAbsolute(rel))
|
|
461
|
+
return null;
|
|
462
|
+
return rel;
|
|
463
|
+
}
|
|
464
|
+
//# sourceMappingURL=workflows.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflows.js","sourceRoot":"","sources":["../src/workflows.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,KAAK,GAAG,MAAM,KAAK,CAAC;AAE3B,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AACpE,OAAO,EACL,aAAa,GAKd,MAAM,YAAY,CAAC;AA4BpB,MAAM,kBAAkB,GAAG;IACzB,MAAM;IACN,cAAc;IACd,MAAM;IACN,OAAO;IACP,YAAY;IACZ,MAAM;IACN,QAAQ;IACR,YAAY;IACZ,iBAAiB;IACjB,OAAO;IACP,OAAO;IACP,kBAAkB;IAClB,MAAM;IACN,MAAM;CACP,CAAC;AAEF,SAAS,oBAAoB,CAAC,OAAe;IAC3C,MAAM,QAAQ,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAEpF,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;IACtD,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;IACpD,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;IACrD,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;IACxD,CAAC;AACH,CAAC;AAED,KAAK,UAAU,0BAA0B,CAAC,OAAe;IACvD,wEAAwE;IACxE,yEAAyE;IACzE,qEAAqE;IACrE,yEAAyE;IACzE,0CAA0C;IAC1C,8DAA8D;IAC9D,MAAM,GAAG,GAAI,UAAkB,CAAC,GAAG,CAAC;IACpC,IAAI,OAAO,GAAG,KAAK,WAAW,EAAE,CAAC;QAC/B,IAAI,CAAC;YACH,qEAAqE;YACrE,kDAAkD;YAClD,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,KAAK,CAAC;gBAC7B,KAAK,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE;gBAC1C,KAAK,EAAE,KAAK;aACb,CAAC,CAAC;YACH,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;gBAC3C,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI;qBACvB,MAAM,CAAC,CAAC,CAAqB,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,OAAO,CAAC;qBACtD,GAAG,CAAC,CAAC,CAAuB,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;qBAC3C,IAAI,CAAC,IAAI,CAAC,CAAC;gBACd,IAAI,MAAM,EAAE,CAAC;oBACX,MAAM,IAAI,KAAK,CAAC,qCAAqC,MAAM,EAAE,CAAC,CAAC;gBACjE,CAAC;YACH,CAAC;YACD,OAAO;QACT,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,iCAAiC,CAAC,EAAE,CAAC;gBAC1F,MAAM,KAAK,CAAC;YACd,CAAC;YACD,6DAA6D;YAC7D,OAAO;QACT,CAAC;IACH,CAAC;IAED,2DAA2D;IAC3D,IAAI,CAAC;QACH,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;QACxD,QAAQ,CAAC,+BAA+B,EAAE;YACxC,KAAK,EAAE,OAAO;YACd,QAAQ,EAAE,OAAO;YACjB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;YAC/B,OAAO,EAAE,KAAK;SACf,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,GAAG,GAAG,KAAgE,CAAC;QAC7E,MAAM,MAAM,GAAG,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvE,sEAAsE;QACtE,mEAAmE;QACnE,qCAAqC;QACrC,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,IAAI,8BAA8B,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACnG,OAAO;QACT,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,IAAI,8BAA8B,CAAC;QACzD,MAAM,IAAI,KAAK,CAAC,qCAAqC,OAAO,EAAE,CAAC,CAAC;IAClE,CAAC;AACH,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,QAAgB;IACpD,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;IACjD,QAAQ,GAAG,EAAE,CAAC;QACZ,KAAK,OAAO,CAAC;QACb,KAAK,MAAM;YACT,OAAO,MAAM,CAAC;QAChB,KAAK,KAAK,CAAC;QACX,KAAK,MAAM,CAAC;QACZ,KAAK,MAAM;YACT,OAAO,IAAI,CAAC;QACd,KAAK,KAAK;YACR,OAAO,IAAI,CAAC;QACd;YACE,OAAO,IAAI,CAAC;IAChB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,YAAoB,EAAE,iBAAoC;IAChG,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,WAAmB,EACnB,gBAAmC;IAEnC,MAAM,aAAa,GACjB,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC;QAC5B,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC;QAC9B,qBAAqB,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;IAE9C,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QACzD,MAAM,QAAQ,GAAG,gBAAgB,IAAI,qBAAqB,CAAC,WAAW,CAAC,CAAC;QACxE,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,sCAAsC,WAAW,oBAAoB,CAAC,CAAC;QACzF,CAAC;QACD,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;IAChC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,GAAG,GAAG,KAA8B,CAAC;QAC3C,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,gCAAgC,WAAW,EAAE,CAAC,CAAC;QACjE,CAAC;QACD,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/B,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,IAAI,aAAa,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,4BAA4B,WAAW,EAAE,CAAC,CAAC;IAC7D,CAAC;IAED,OAAO;QACL,QAAQ,EAAE,WAAW;QACrB,QAAQ,EAAE,gBAAgB,IAAI,MAAM;KACrC,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,WAAmB,EACnB,UAA8B,EAAE;IAEhC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,aAAa,EAAE,CAAC;IACjD,IAAI,IAAI,GAAG,MAAM,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAC7C,MAAM,KAAK,GAAG,MAAM,oBAAoB,CAAC,WAAW,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IAExE,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;QAC5B,MAAM,0BAA0B,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACnD,CAAC;SAAM,IAAI,KAAK,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;QACrC,OAAO,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;QACxC,oBAAoB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACvC,CAAC;IAED,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,uBAAuB,CAAC,WAAW,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC5F,MAAM,WAAW,GAA4B;QAC3C,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ;KACzB,CAAC;IACF,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;QACzB,WAAW,CAAC,cAAc,GAAG,KAAK,CAAC,cAAc,CAAC;IACpD,CAAC;IAED,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACtB,OAAO,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;QAClC,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,MAAM,kBAAkB,CACzE,IAAI,EACJ,2BAA2B,EAC3B;YACE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,MAAM,EAAE,kBAAkB,EAAE;SACxC,CACF,CAAC;QACF,IAAI,GAAG,QAAQ,CAAC;QAEhB,MAAM,WAAW,GAAG,MAAM,gBAAgB,CAAC,YAAY,CAAC,CAAC;QACzD,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,4BAA4B,qBAAqB,CAAC,YAAY,EAAE,WAAW,CAAC,EAAE,CAAC,CAAC;QAClG,CAAC;QAED,IAAI,CAAC,yBAAyB,CAAC,WAAW,CAAC,EAAE,CAAC;YAC5C,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;QACnE,CAAC;QAED,MAAM,QAAQ,GAAG,WAAW,CAAC;QAC7B,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAEzE,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACtB,OAAO,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;QACrC,MAAM,QAAQ,GAAG,oBAAoB,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QAC9D,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QACnD,OAAO,CAAC,KAAK,CACX,cAAc,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAClG,CAAC;QAEF,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACtB,OAAO,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;QACpC,MAAM,GAAG,GAAG,aAAa,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;QAC7E,MAAM,QAAQ,CAAC,IAAI,CACjB,IAAI,gBAAgB,CAAC;YACnB,MAAM,EAAE,QAAQ,CAAC,aAAa,CAAC,MAAM;YACrC,GAAG,EAAE,GAAG;YACR,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,kBAAkB;SAChC,CAAC,CACH,CAAC;QACF,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAEzE,WAAW,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;QACnC,WAAW,CAAC,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC;QAE3C,kEAAkE;QAClE,mEAAmE;QACnE,gEAAgE;QAChE,yDAAyD;QACzD,oEAAoE;QACpE,EAAE;QACF,oEAAoE;QACpE,+DAA+D;QAC/D,yCAAyC;QACzC,MAAM,YAAY,GAAG,sBAAsB,CAAC,WAAW,CAAC,CAAC;QACzD,IAAI,YAAY,EAAE,CAAC;YACjB,WAAW,CAAC,YAAY,GAAG,YAAY,CAAC;QAC1C,CAAC;IACH,CAAC;IAED,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACtB,OAAO,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;IACvC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,MAAM,kBAAkB,CAAC,IAAI,EAAE,uBAAuB,EAAE;QAC9F,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;YAClC,MAAM,EAAE,kBAAkB;SAC3B;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC;KAClC,CAAC,CAAC;IACH,IAAI,GAAG,WAAW,CAAC;IAEnB,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAEzE,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IACjD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,wBAAwB,qBAAqB,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;IACtF,CAAC;IAED,IACE,CAAC,OAAO;QACR,OAAO,OAAO,KAAK,QAAQ;QAC3B,OAAQ,OAA+B,CAAC,KAAK,KAAK,QAAQ;QAC1D,OAAQ,OAAgC,CAAC,MAAM,KAAK,QAAQ,EAC5D,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;IAC/D,CAAC;IAED,OAAO,OAA8B,CAAC;AACxC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,KAAa,EACb,UAA+B,EAAE;IAEjC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,aAAa,EAAE,CAAC;IACjD,MAAM,IAAI,GAAG,MAAM,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAC/C,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,kBAAkB,CAAC,IAAI,EAAE,0BAA0B,kBAAkB,CAAC,KAAK,CAAC,EAAE,EAAE;QACzG,OAAO,EAAE,EAAE,MAAM,EAAE,kBAAkB,EAAE;KACxC,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IACjD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,0BAA0B,qBAAqB,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;IACxF,CAAC;IAED,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACtE,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;IACzD,CAAC;IAED,OAAO,OAAkC,CAAC;AAC5C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,KAAa,EACb,UAA+B,EAAE;IAEjC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,aAAa,EAAE,CAAC;IACjD,MAAM,IAAI,GAAG,MAAM,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAC/C,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,kBAAkB,CAC3C,IAAI,EACJ,0BAA0B,kBAAkB,CAAC,KAAK,CAAC,SAAS,EAC5D;QACE,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,MAAM,EAAE,kBAAkB,EAAE;KACxC,CACF,CAAC;IAEF,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IACjD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,kBAAkB,qBAAqB,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;IAChF,CAAC;IAED,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACtE,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;IACzD,CAAC;IAED,OAAO,OAA4C,CAAC;AACtD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,KAAa,EACb,UAII,EAAE;IAEN,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,aAAa,EAAE,CAAC;IACjD,MAAM,IAAI,GAAG,MAAM,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAC/C,MAAM,YAAY,GAAG,IAAI,eAAe,EAAE,CAAC;IAC3C,IAAI,OAAO,OAAO,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QACvC,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IACrD,CAAC;IACD,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;QACtB,YAAY,CAAC,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IACnD,CAAC;IAED,MAAM,WAAW,GAAG,0BAA0B,kBAAkB,CAAC,KAAK,CAAC,QAAQ,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,YAAY,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IAExI,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,kBAAkB,CAAC,IAAI,EAAE,WAAW,EAAE;QAC/D,OAAO,EAAE,EAAE,MAAM,EAAE,kBAAkB,EAAE;KACxC,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IACjD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,uBAAuB,qBAAqB,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;IACrF,CAAC;IAED,IACE,CAAC,OAAO;QACR,OAAO,OAAO,KAAK,QAAQ;QAC3B,OAAQ,OAAiC,CAAC,OAAO,KAAK,QAAQ;QAC9D,OAAQ,OAAgC,CAAC,MAAM,KAAK,QAAQ;QAC5D,OAAQ,OAAmC,CAAC,SAAS,KAAK,QAAQ;QAClE,OAAQ,OAA8B,CAAC,IAAI,KAAK,SAAS,EACzD,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;IACtD,CAAC;IAED,OAAO,OAA+B,CAAC;AACzC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,KAAa,EACb,UAA+B,EAAE;IAEjC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,aAAa,EAAE,CAAC;IACjD,IAAI,IAAI,GAAG,MAAM,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAE7C,8BAA8B;IAC9B,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,MAAM,kBAAkB,CACrE,IAAI,EACJ,0BAA0B,kBAAkB,CAAC,KAAK,CAAC,EAAE,EACrD,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,kBAAkB,EAAE,EAAE,CAC5C,CAAC;IACF,IAAI,GAAG,EAAE,CAAC;IAEV,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,CAAC;QACvB,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC,cAAc,CAAC,CAAC;QACvD,MAAM,IAAI,KAAK,CAAC,+BAA+B,qBAAqB,CAAC,cAAc,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;IACnG,CAAC;IAED,MAAM,OAAO,GAAG,CAAC,MAAM,cAAc,CAAC,IAAI,EAAE,CAAwB,CAAC;IACrE,IAAI,OAAO,CAAC,MAAM,KAAK,WAAW,IAAI,OAAO,CAAC,MAAM,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;QACpG,MAAM,IAAI,KAAK,CAAC,gBAAgB,OAAO,CAAC,MAAM,IAAI,SAAS,uCAAuC,CAAC,CAAC;IACtG,CAAC;IAED,qBAAqB;IACrB,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,kBAAkB,CAC3C,IAAI,EACJ,0BAA0B,kBAAkB,CAAC,KAAK,CAAC,QAAQ,EAC3D,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,kBAAkB,EAAE,EAAE,CAC5C,CAAC;IAEF,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IACjD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,0BAA0B,qBAAqB,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;IACxF,CAAC;IAED,IACE,CAAC,OAAO;QACR,OAAO,OAAO,KAAK,QAAQ;QAC3B,OAAQ,OAAoC,CAAC,UAAU,KAAK,SAAS,EACrE,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;IACxD,CAAC;IAED,OAAO,OAA4B,CAAC;AACtC,CAAC;AAED,iFAAiF;AAEjF,KAAK,UAAU,gBAAgB,CAAC,QAAkB;IAChD,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IACtC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,OAAO,CAAC;IACjB,CAAC;AACH,CAAC;AAED,SAAS,qBAAqB,CAAC,QAAkB,EAAE,OAAgB;IACjE,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;QAClD,OAAO,GAAG,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,KAAK,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;IACxE,CAAC;IAED,IAAI,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACtE,MAAM,MAAM,GAAG,OAAkC,CAAC;QAClD,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,OAAO,CAAC;QAC/C,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;YAClD,OAAO,GAAG,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,KAAK,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;QACxE,CAAC;IACH,CAAC;IAED,OAAO,GAAG,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;AACrD,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAc;IACxC,OAAO,OAAO,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;AACnG,CAAC;AAED,SAAS,yBAAyB,CAAC,OAAgB;IACjD,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACtE,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,MAAM,GAAG,OAAkC,CAAC;IAClD,MAAM,OAAO,GAAG,MAAM,CAAC,aAAa,CAAC;IACrC,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACtE,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,KAAK,GAAG,OAAkC,CAAC;IACjD,OAAO,CACL,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ;QAChC,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ;QACpC,OAAO,KAAK,CAAC,WAAW,KAAK,QAAQ;QACrC,OAAO,KAAK,CAAC,eAAe,KAAK,QAAQ;QACzC,OAAO,KAAK,CAAC,YAAY,KAAK,QAAQ;QACtC,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ;QAChC,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,CACjC,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAAC,aAA4B;IACxD,OAAO,IAAI,QAAQ,CAAC;QAClB,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,WAAW;QAC/E,WAAW,EAAE;YACX,WAAW,EAAE,aAAa,CAAC,WAAW;YACtC,eAAe,EAAE,aAAa,CAAC,eAAe;YAC9C,YAAY,EAAE,aAAa,CAAC,YAAY;SACzC;KACF,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,OAAe;IAC1C,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAE3C,IAAI,CAAC;QACH,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;QACxD,MAAM,QAAQ,GAAG,QAAQ,CAAC,iBAAiB,EAAE;YAC3C,GAAG,EAAE,YAAY;YACjB,QAAQ,EAAE,OAAO;YACjB,SAAS,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI;SAC5B,CAAC,CAAC;QACH,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACnD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,KAAK,CAAC,CAAC;YACvF,MAAM,MAAM,GAAa,EAAE,CAAC;YAC5B,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,SAAS,EAAE,CAAC;gBACpC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAmB,CAAC,CAAC,CAAC;YAChD,CAAC;YACD,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,yEAAyE;IAC3E,CAAC;IAED,MAAM,EAAE,GAAG,MAAM,kBAAkB,CAAC,YAAY,CAAC,CAAC;IAClD,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,CAC1B;QACE,IAAI,EAAE,IAAI;QACV,GAAG,EAAE,YAAY;QACjB,QAAQ,EAAE,IAAI;QACd,MAAM,CAAC,SAAiB;YACtB,MAAM,UAAU,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;YACjD,IAAI,CAAC,UAAU,IAAI,UAAU,KAAK,GAAG;gBAAE,OAAO,IAAI,CAAC;YACnD,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACjC,CAAC;KACF,EACD,CAAC,GAAG,CAAC,CACN,CAAC;IAEF,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,SAAS,EAAE,CAAC;QACpC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAmB,CAAC,CAAC,CAAC;IAChD,CAAC;IAED,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AAC/B,CAAC;AAED,KAAK,UAAU,kBAAkB,CAAC,OAAe;IAC/C,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC;IACpB,EAAE,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IAE3B,IAAI,CAAC;QACH,MAAM,gBAAgB,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,EAAE,OAAO,CAAC,CAAC;QACtF,EAAE,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAC3B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/B,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,SAAS,kBAAkB,CAAC,SAAiB;IAC3C,OAAO,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AAC5D,CAAC;AAED,SAAS,aAAa,CAAC,MAAc,EAAE,GAAW;IAChD,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACjD,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,sBAAsB,CAAC,WAAmB;IACxD,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,WAAW,CAAC,CAAC;IAC1D,IAAI,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC,CAAC;IACjD,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAClC,mEAAmE;IACnE,sEAAsE;IACtE,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACpC,IAAI,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,GAAG,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACvD,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IACtC,OAAO,GAAG,CAAC;AACb,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,31 +1,16 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agent-relay/cloud",
|
|
3
|
-
"version": "
|
|
4
|
-
"description": "Cloud
|
|
3
|
+
"version": "6.0.2",
|
|
4
|
+
"description": "Cloud SDK for Agent Relay — auth, workflow execution, and provider connections",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
7
7
|
"types": "dist/index.d.ts",
|
|
8
8
|
"exports": {
|
|
9
9
|
".": {
|
|
10
10
|
"types": "./dist/index.d.ts",
|
|
11
|
-
"import": "./dist/index.js"
|
|
12
|
-
"default": "./dist/index.js"
|
|
11
|
+
"import": "./dist/index.js"
|
|
13
12
|
},
|
|
14
|
-
"./
|
|
15
|
-
"types": "./dist/db/drizzle.d.ts",
|
|
16
|
-
"import": "./dist/db/drizzle.js",
|
|
17
|
-
"default": "./dist/db/drizzle.js"
|
|
18
|
-
},
|
|
19
|
-
"./db/schema": {
|
|
20
|
-
"types": "./dist/db/schema.d.ts",
|
|
21
|
-
"import": "./dist/db/schema.js",
|
|
22
|
-
"default": "./dist/db/schema.js"
|
|
23
|
-
},
|
|
24
|
-
"./server": {
|
|
25
|
-
"types": "./dist/server.d.ts",
|
|
26
|
-
"import": "./dist/server.js",
|
|
27
|
-
"default": "./dist/server.js"
|
|
28
|
-
}
|
|
13
|
+
"./package.json": "./package.json"
|
|
29
14
|
},
|
|
30
15
|
"files": [
|
|
31
16
|
"dist",
|
|
@@ -38,15 +23,13 @@
|
|
|
38
23
|
"test:watch": "vitest"
|
|
39
24
|
},
|
|
40
25
|
"dependencies": {
|
|
41
|
-
"@agent-relay/
|
|
42
|
-
"@
|
|
43
|
-
"
|
|
44
|
-
"
|
|
45
|
-
"@agent-relay/protocol": "2.0.23"
|
|
26
|
+
"@agent-relay/config": "6.0.2",
|
|
27
|
+
"@aws-sdk/client-s3": "3.1020.0",
|
|
28
|
+
"ignore": "^7.0.5",
|
|
29
|
+
"tar": "^7.5.10"
|
|
46
30
|
},
|
|
47
31
|
"devDependencies": {
|
|
48
32
|
"@types/node": "^22.19.3",
|
|
49
|
-
"typescript": "^5.9.3",
|
|
50
33
|
"vitest": "^3.2.4"
|
|
51
34
|
},
|
|
52
35
|
"publishConfig": {
|
package/dist/api/admin.d.ts
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Admin API Routes
|
|
3
|
-
*
|
|
4
|
-
* Administrative endpoints for managing workspaces at scale.
|
|
5
|
-
* Protected by admin secret (ADMIN_API_SECRET environment variable).
|
|
6
|
-
*/
|
|
7
|
-
export declare const adminRouter: import("express-serve-static-core").Router;
|
|
8
|
-
//# sourceMappingURL=admin.d.ts.map
|
package/dist/api/admin.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"admin.d.ts","sourceRoot":"","sources":["../../src/api/admin.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,eAAO,MAAM,WAAW,4CAAW,CAAC"}
|