@a5c-ai/cloud 5.0.1-staging.ff407b73 → 5.0.1-staging.ffad3b46492e

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.
Files changed (45) hide show
  1. package/README.md +1 -1
  2. package/SPEC.md +10 -10
  3. package/dist/cli.d.ts.map +1 -1
  4. package/dist/cli.js +4 -1
  5. package/dist/cli.js.map +1 -1
  6. package/dist/helm/krate-values.d.ts +3 -0
  7. package/dist/helm/krate-values.d.ts.map +1 -0
  8. package/dist/helm/krate-values.js +87 -0
  9. package/dist/helm/krate-values.js.map +1 -0
  10. package/dist/index.d.ts +1 -0
  11. package/dist/index.d.ts.map +1 -1
  12. package/dist/index.js +1 -0
  13. package/dist/index.js.map +1 -1
  14. package/dist/kubernetes/render.d.ts.map +1 -1
  15. package/dist/kubernetes/render.js +6 -1
  16. package/dist/kubernetes/render.js.map +1 -1
  17. package/dist/sdk/config.js +4 -4
  18. package/dist/sdk/config.js.map +1 -1
  19. package/dist/sdk/deploy.d.ts.map +1 -1
  20. package/dist/sdk/deploy.js +19 -10
  21. package/dist/sdk/deploy.js.map +1 -1
  22. package/dist/sdk/environments.d.ts.map +1 -1
  23. package/dist/sdk/environments.js +51 -17
  24. package/dist/sdk/environments.js.map +1 -1
  25. package/dist/sdk/plans.d.ts.map +1 -1
  26. package/dist/sdk/plans.js +6 -100
  27. package/dist/sdk/plans.js.map +1 -1
  28. package/dist/sdk/providers.d.ts.map +1 -1
  29. package/dist/sdk/providers.js +10 -10
  30. package/dist/sdk/providers.js.map +1 -1
  31. package/dist/types.d.ts +69 -32
  32. package/dist/types.d.ts.map +1 -1
  33. package/package.json +8 -2
  34. package/dist/adapters/agent-mux-gateway.d.ts +0 -3
  35. package/dist/adapters/agent-mux-gateway.d.ts.map +0 -1
  36. package/dist/adapters/agent-mux-gateway.js +0 -164
  37. package/dist/adapters/agent-mux-gateway.js.map +0 -1
  38. package/dist/adapters/babysitter-agent.d.ts +0 -3
  39. package/dist/adapters/babysitter-agent.d.ts.map +0 -1
  40. package/dist/adapters/babysitter-agent.js +0 -94
  41. package/dist/adapters/babysitter-agent.js.map +0 -1
  42. package/dist/adapters/kanban.d.ts +0 -3
  43. package/dist/adapters/kanban.d.ts.map +0 -1
  44. package/dist/adapters/kanban.js +0 -99
  45. package/dist/adapters/kanban.js.map +0 -1
@@ -1,164 +0,0 @@
1
- function resolveImage(config, releaseTag) {
2
- return config.images?.gateway ?? `${config.imageRegistry ?? "ghcr.io/a5c-ai/babysitter"}/agent-mux:${releaseTag}`;
3
- }
4
- export function buildGatewayPlan(config, releaseTag, publicUrl) {
5
- return {
6
- id: "gateway",
7
- enabled: config.components.gateway.enabled,
8
- image: {
9
- image: resolveImage(config, releaseTag),
10
- pullPolicy: "IfNotPresent",
11
- },
12
- replicas: config.components.gateway.replicas ?? 1,
13
- serviceName: "agent-mux-gateway",
14
- port: 7878,
15
- internalUrl: "http://agent-mux-gateway:7878",
16
- ...(publicUrl ? { publicUrl } : {}),
17
- summary: [
18
- "agent-mux gateway exposed through service `agent-mux-gateway`",
19
- "runs with SQLite token store and persistent event log volume",
20
- ],
21
- };
22
- }
23
- export function buildGatewayManifests(config, plan, auth) {
24
- if (!plan.enabled) {
25
- return [];
26
- }
27
- return [
28
- {
29
- apiVersion: "v1",
30
- kind: "PersistentVolumeClaim",
31
- metadata: {
32
- name: `${plan.serviceName}-state`,
33
- namespace: config.namespace,
34
- },
35
- spec: {
36
- accessModes: ["ReadWriteOnce"],
37
- ...(config.storage.className ? { storageClassName: config.storage.className } : {}),
38
- resources: {
39
- requests: {
40
- storage: config.storage.gatewayStateSize ?? "5Gi",
41
- },
42
- },
43
- },
44
- },
45
- {
46
- apiVersion: "apps/v1",
47
- kind: "Deployment",
48
- metadata: {
49
- name: plan.serviceName,
50
- namespace: config.namespace,
51
- labels: {
52
- "app.kubernetes.io/name": plan.serviceName,
53
- "app.kubernetes.io/component": "gateway",
54
- },
55
- },
56
- spec: {
57
- replicas: plan.replicas,
58
- selector: {
59
- matchLabels: {
60
- "app.kubernetes.io/name": plan.serviceName,
61
- },
62
- },
63
- template: {
64
- metadata: {
65
- labels: {
66
- "app.kubernetes.io/name": plan.serviceName,
67
- "app.kubernetes.io/component": "gateway",
68
- },
69
- },
70
- spec: {
71
- containers: [
72
- {
73
- name: "gateway",
74
- image: plan.image.image,
75
- imagePullPolicy: plan.image.pullPolicy,
76
- command: ["amux"],
77
- args: [
78
- "gateway",
79
- "serve",
80
- "--host",
81
- "0.0.0.0",
82
- "--port",
83
- String(plan.port),
84
- "--no-webui",
85
- ],
86
- ports: [{ containerPort: plan.port, name: "http" }],
87
- env: [
88
- { name: "AMUX_GATEWAY_TOKEN_DB_PATH", value: "/var/lib/amux-gateway/tokens.db" },
89
- { name: "AMUX_GATEWAY_EVENT_LOG_DIR", value: "/var/lib/amux-gateway/events" },
90
- { name: "AMUX_GATEWAY_BOOTSTRAP_AUTH_MODE", value: config.auth.mode },
91
- {
92
- name: "AMUX_GATEWAY_BOOTSTRAP_ADMIN_USERNAME",
93
- valueFrom: {
94
- secretKeyRef: {
95
- name: auth.secretName,
96
- key: "ADMIN_USERNAME",
97
- },
98
- },
99
- },
100
- {
101
- name: "AMUX_GATEWAY_BOOTSTRAP_ADMIN_PASSWORD",
102
- valueFrom: {
103
- secretKeyRef: {
104
- name: auth.secretName,
105
- key: "ADMIN_PASSWORD",
106
- },
107
- },
108
- },
109
- {
110
- name: "AMUX_GATEWAY_BOOTSTRAP_TOKEN_SEED",
111
- valueFrom: {
112
- secretKeyRef: {
113
- name: auth.secretName,
114
- key: "ADMIN_TOKEN_SEED",
115
- },
116
- },
117
- },
118
- { name: "CLOUD_BOOTSTRAP_AUTH_SECRET", value: auth.secretName },
119
- { name: "CLOUD_BOOTSTRAP_ADMIN_USERNAME", value: auth.username },
120
- { name: "CLOUD_BOOTSTRAP_AUTH_MODE", value: config.auth.mode },
121
- ],
122
- volumeMounts: [
123
- {
124
- name: "gateway-state",
125
- mountPath: "/var/lib/amux-gateway",
126
- },
127
- ],
128
- },
129
- ],
130
- volumes: [
131
- {
132
- name: "gateway-state",
133
- persistentVolumeClaim: {
134
- claimName: `${plan.serviceName}-state`,
135
- },
136
- },
137
- ],
138
- },
139
- },
140
- },
141
- },
142
- {
143
- apiVersion: "v1",
144
- kind: "Service",
145
- metadata: {
146
- name: plan.serviceName,
147
- namespace: config.namespace,
148
- },
149
- spec: {
150
- selector: {
151
- "app.kubernetes.io/name": plan.serviceName,
152
- },
153
- ports: [
154
- {
155
- name: "http",
156
- port: plan.port,
157
- targetPort: plan.port,
158
- },
159
- ],
160
- },
161
- },
162
- ];
163
- }
164
- //# sourceMappingURL=agent-mux-gateway.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"agent-mux-gateway.js","sourceRoot":"","sources":["../../src/adapters/agent-mux-gateway.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import type { CloudConfig, ComponentPlan, KubernetesManifest, ProviderConfigurationResult } from "../types.js";
2
- export declare function buildBabysitterAgentPlan(config: CloudConfig, releaseTag: string): ComponentPlan;
3
- export declare function buildBabysitterAgentManifests(config: CloudConfig, plan: ComponentPlan, gatewayInternalUrl: string, providers: ProviderConfigurationResult): readonly KubernetesManifest[];
@@ -1 +0,0 @@
1
- {"version":3,"file":"babysitter-agent.d.ts","sourceRoot":"","sources":["../../src/adapters/babysitter-agent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,aAAa,EACb,kBAAkB,EAClB,2BAA2B,EAC5B,MAAM,aAAa,CAAC;AAMrB,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,GAAG,aAAa,CAiB/F;AAED,wBAAgB,6BAA6B,CAC3C,MAAM,EAAE,WAAW,EACnB,IAAI,EAAE,aAAa,EACnB,kBAAkB,EAAE,MAAM,EAC1B,SAAS,EAAE,2BAA2B,GACrC,SAAS,kBAAkB,EAAE,CAwE/B"}
@@ -1,94 +0,0 @@
1
- function resolveImage(config, releaseTag) {
2
- return config.images?.babysitterAgent ?? `${config.imageRegistry ?? "ghcr.io/a5c-ai/babysitter"}/babysitter-agent:${releaseTag}`;
3
- }
4
- export function buildBabysitterAgentPlan(config, releaseTag) {
5
- return {
6
- id: "babysitter-agent",
7
- enabled: config.components.babysitterAgent?.enabled ?? false,
8
- image: {
9
- image: resolveImage(config, releaseTag),
10
- pullPolicy: "IfNotPresent",
11
- },
12
- replicas: config.components.babysitterAgent?.replicas ?? 1,
13
- serviceName: "babysitter-agent",
14
- port: 7788,
15
- internalUrl: "http://babysitter-agent:7788",
16
- summary: [
17
- "optional babysitter-agent service",
18
- "configured for agent-mux Kubernetes mode",
19
- ],
20
- };
21
- }
22
- export function buildBabysitterAgentManifests(config, plan, gatewayInternalUrl, providers) {
23
- if (!plan.enabled) {
24
- return [];
25
- }
26
- return [
27
- {
28
- apiVersion: "apps/v1",
29
- kind: "Deployment",
30
- metadata: {
31
- name: plan.serviceName,
32
- namespace: config.namespace,
33
- labels: {
34
- "app.kubernetes.io/name": plan.serviceName,
35
- "app.kubernetes.io/component": "agent-runtime",
36
- },
37
- },
38
- spec: {
39
- replicas: plan.replicas,
40
- selector: {
41
- matchLabels: {
42
- "app.kubernetes.io/name": plan.serviceName,
43
- },
44
- },
45
- template: {
46
- metadata: {
47
- labels: {
48
- "app.kubernetes.io/name": plan.serviceName,
49
- "app.kubernetes.io/component": "agent-runtime",
50
- },
51
- },
52
- spec: {
53
- containers: [
54
- {
55
- name: "babysitter-agent",
56
- image: plan.image.image,
57
- imagePullPolicy: plan.image.pullPolicy,
58
- command: ["babysitter-agent"],
59
- args: ["start-server", "--transport", "websocket", "--port", String(plan.port)],
60
- ports: [{ containerPort: plan.port, name: "ws" }],
61
- env: [
62
- { name: "BABYSITTER_AGENT_GATEWAY_URL", value: gatewayInternalUrl },
63
- { name: "BABYSITTER_AGENT_AMUX_INVOCATION_MODE", value: "k8s" },
64
- ...Object.entries(providers.env).map(([name, value]) => ({ name, value })),
65
- ],
66
- },
67
- ],
68
- },
69
- },
70
- },
71
- },
72
- {
73
- apiVersion: "v1",
74
- kind: "Service",
75
- metadata: {
76
- name: plan.serviceName,
77
- namespace: config.namespace,
78
- },
79
- spec: {
80
- selector: {
81
- "app.kubernetes.io/name": plan.serviceName,
82
- },
83
- ports: [
84
- {
85
- name: "ws",
86
- port: plan.port,
87
- targetPort: plan.port,
88
- },
89
- ],
90
- },
91
- },
92
- ];
93
- }
94
- //# sourceMappingURL=babysitter-agent.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"babysitter-agent.js","sourceRoot":"","sources":["../../src/adapters/babysitter-agent.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import type { CloudConfig, ComponentPlan, KubernetesManifest } from "../types.js";
2
- export declare function buildKanbanPlan(config: CloudConfig, releaseTag: string, gatewayServiceName: string, publicUrl: string | undefined): ComponentPlan;
3
- export declare function buildKanbanManifests(config: CloudConfig, plan: ComponentPlan, gatewayInternalUrl: string, gatewayPublicUrl?: string): readonly KubernetesManifest[];
@@ -1 +0,0 @@
1
- {"version":3,"file":"kanban.d.ts","sourceRoot":"","sources":["../../src/adapters/kanban.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAMlF,wBAAgB,eAAe,CAAC,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,aAAa,CAkBjJ;AAED,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,WAAW,EACnB,IAAI,EAAE,aAAa,EACnB,kBAAkB,EAAE,MAAM,EAC1B,gBAAgB,CAAC,EAAE,MAAM,GACxB,SAAS,kBAAkB,EAAE,CA6E/B"}
@@ -1,99 +0,0 @@
1
- function resolveImage(config, releaseTag) {
2
- return config.images?.kanban ?? `${config.imageRegistry ?? "ghcr.io/a5c-ai/babysitter"}/kanban:${releaseTag}`;
3
- }
4
- export function buildKanbanPlan(config, releaseTag, gatewayServiceName, publicUrl) {
5
- return {
6
- id: "kanban",
7
- enabled: config.components.kanban.enabled,
8
- image: {
9
- image: resolveImage(config, releaseTag),
10
- pullPolicy: "IfNotPresent",
11
- },
12
- replicas: config.components.kanban.replicas ?? 1,
13
- serviceName: "kanban",
14
- port: 4800,
15
- internalUrl: "http://kanban:4800",
16
- ...(publicUrl ? { publicUrl } : {}),
17
- summary: [
18
- "kanban Next.js app served via service `kanban`",
19
- `wired to gateway service ${gatewayServiceName}`,
20
- ],
21
- };
22
- }
23
- export function buildKanbanManifests(config, plan, gatewayInternalUrl, gatewayPublicUrl) {
24
- if (!plan.enabled) {
25
- return [];
26
- }
27
- const browserGatewayUrl = gatewayPublicUrl ?? gatewayInternalUrl;
28
- return [
29
- {
30
- apiVersion: "apps/v1",
31
- kind: "Deployment",
32
- metadata: {
33
- name: plan.serviceName,
34
- namespace: config.namespace,
35
- labels: {
36
- "app.kubernetes.io/name": plan.serviceName,
37
- "app.kubernetes.io/component": "ui",
38
- },
39
- },
40
- spec: {
41
- replicas: plan.replicas,
42
- selector: {
43
- matchLabels: {
44
- "app.kubernetes.io/name": plan.serviceName,
45
- },
46
- },
47
- template: {
48
- metadata: {
49
- labels: {
50
- "app.kubernetes.io/name": plan.serviceName,
51
- "app.kubernetes.io/component": "ui",
52
- },
53
- },
54
- spec: {
55
- containers: [
56
- {
57
- name: "kanban",
58
- image: plan.image.image,
59
- imagePullPolicy: plan.image.pullPolicy,
60
- command: ["kanban"],
61
- args: ["--port", String(plan.port)],
62
- ports: [{ containerPort: plan.port, name: "http" }],
63
- env: [
64
- { name: "KANBAN_PORT", value: String(plan.port) },
65
- { name: "KANBAN_DEFAULT_GATEWAY_URL", value: browserGatewayUrl },
66
- { name: "KANBAN_GATEWAY_PROXY_URL", value: gatewayInternalUrl },
67
- { name: "KANBAN_GATEWAY_AUTH_MODE", value: config.auth.mode },
68
- { name: "KANBAN_BOOTSTRAP_ADMIN_USERNAME", value: config.auth.adminUsername },
69
- { name: "NEXT_PUBLIC_GATEWAY_URL", value: browserGatewayUrl },
70
- ],
71
- },
72
- ],
73
- },
74
- },
75
- },
76
- },
77
- {
78
- apiVersion: "v1",
79
- kind: "Service",
80
- metadata: {
81
- name: plan.serviceName,
82
- namespace: config.namespace,
83
- },
84
- spec: {
85
- selector: {
86
- "app.kubernetes.io/name": plan.serviceName,
87
- },
88
- ports: [
89
- {
90
- name: "http",
91
- port: plan.port,
92
- targetPort: plan.port,
93
- },
94
- ],
95
- },
96
- },
97
- ];
98
- }
99
- //# sourceMappingURL=kanban.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"kanban.js","sourceRoot":"","sources":["../../src/adapters/kanban.ts"],"names":[],"mappings":"AAEA,SAAS,YAAY,CAAC,MAAmB,EAAE,UAAkB;IAC3D,OAAO,MAAM,CAAC,MAAM,EAAE,MAAM,IAAI,GAAG,MAAM,CAAC,aAAa,IAAI,2BAA2B,WAAW,UAAU,EAAE,CAAC;AAChH,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,MAAmB,EAAE,UAAkB,EAAE,kBAA0B,EAAE,SAA6B;IAChI,OAAO;QACL,EAAE,EAAE,QAAQ;QACZ,OAAO,EAAE,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO;QACzC,KAAK,EAAE;YACL,KAAK,EAAE,YAAY,CAAC,MAAM,EAAE,UAAU,CAAC;YACvC,UAAU,EAAE,cAAc;SAC3B;QACD,QAAQ,EAAE,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC;QAChD,WAAW,EAAE,QAAQ;QACrB,IAAI,EAAE,IAAI;QACV,WAAW,EAAE,oBAAoB;QACjC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnC,OAAO,EAAE;YACP,gDAAgD;YAChD,4BAA4B,kBAAkB,EAAE;SACjD;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,MAAmB,EACnB,IAAmB,EACnB,kBAA0B,EAC1B,gBAAyB;IAEzB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QAClB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,iBAAiB,GAAG,gBAAgB,IAAI,kBAAkB,CAAC;IAEjE,OAAO;QACL;YACE,UAAU,EAAE,SAAS;YACrB,IAAI,EAAE,YAAY;YAClB,QAAQ,EAAE;gBACR,IAAI,EAAE,IAAI,CAAC,WAAW;gBACtB,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,MAAM,EAAE;oBACN,wBAAwB,EAAE,IAAI,CAAC,WAAW;oBAC1C,6BAA6B,EAAE,IAAI;iBACpC;aACF;YACD,IAAI,EAAE;gBACJ,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,QAAQ,EAAE;oBACR,WAAW,EAAE;wBACX,wBAAwB,EAAE,IAAI,CAAC,WAAW;qBAC3C;iBACF;gBACD,QAAQ,EAAE;oBACR,QAAQ,EAAE;wBACR,MAAM,EAAE;4BACN,wBAAwB,EAAE,IAAI,CAAC,WAAW;4BAC1C,6BAA6B,EAAE,IAAI;yBACpC;qBACF;oBACD,IAAI,EAAE;wBACJ,UAAU,EAAE;4BACV;gCACE,IAAI,EAAE,QAAQ;gCACd,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK;gCACvB,eAAe,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU;gCACtC,OAAO,EAAE,CAAC,QAAQ,CAAC;gCACnB,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gCACnC,KAAK,EAAE,CAAC,EAAE,aAAa,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;gCACnD,GAAG,EAAE;oCACH,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;oCACjD,EAAE,IAAI,EAAE,4BAA4B,EAAE,KAAK,EAAE,iBAAiB,EAAE;oCAChE,EAAE,IAAI,EAAE,0BAA0B,EAAE,KAAK,EAAE,kBAAkB,EAAE;oCAC/D,EAAE,IAAI,EAAE,0BAA0B,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE;oCAC7D,EAAE,IAAI,EAAE,iCAAiC,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE;oCAC7E,EAAE,IAAI,EAAE,yBAAyB,EAAE,KAAK,EAAE,iBAAiB,EAAE;iCAC9D;6BACF;yBACF;qBACF;iBACF;aACF;SACF;QACD;YACE,UAAU,EAAE,IAAI;YAChB,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE;gBACR,IAAI,EAAE,IAAI,CAAC,WAAW;gBACtB,SAAS,EAAE,MAAM,CAAC,SAAS;aAC5B;YACD,IAAI,EAAE;gBACJ,QAAQ,EAAE;oBACR,wBAAwB,EAAE,IAAI,CAAC,WAAW;iBAC3C;gBACD,KAAK,EAAE;oBACL;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,IAAI;wBACf,UAAU,EAAE,IAAI,CAAC,IAAI;qBACtB;iBACF;aACF;SACF;KACF,CAAC;AACJ,CAAC"}