@tpsdev-ai/cli 0.2.0 → 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.
Files changed (228) hide show
  1. package/README.md +65 -0
  2. package/bin/tps.cjs +22 -0
  3. package/bin/tps.ts +435 -0
  4. package/package.json +29 -5
  5. package/dist/bin/tps.d.ts +0 -3
  6. package/dist/bin/tps.d.ts.map +0 -1
  7. package/dist/bin/tps.js +0 -414
  8. package/dist/bin/tps.js.map +0 -1
  9. package/dist/src/cli/hire.d.ts +0 -16
  10. package/dist/src/cli/hire.d.ts.map +0 -1
  11. package/dist/src/cli/hire.js +0 -176
  12. package/dist/src/cli/hire.js.map +0 -1
  13. package/dist/src/cli/office.d.ts +0 -7
  14. package/dist/src/cli/office.d.ts.map +0 -1
  15. package/dist/src/cli/office.js +0 -51
  16. package/dist/src/cli/office.js.map +0 -1
  17. package/dist/src/cli/review.d.ts +0 -9
  18. package/dist/src/cli/review.d.ts.map +0 -1
  19. package/dist/src/cli/review.js +0 -109
  20. package/dist/src/cli/review.js.map +0 -1
  21. package/dist/src/cli/roster.d.ts +0 -6
  22. package/dist/src/cli/roster.d.ts.map +0 -1
  23. package/dist/src/cli/roster.js +0 -60
  24. package/dist/src/cli/roster.js.map +0 -1
  25. package/dist/src/commands/backup.d.ts +0 -19
  26. package/dist/src/commands/backup.d.ts.map +0 -1
  27. package/dist/src/commands/backup.js +0 -595
  28. package/dist/src/commands/backup.js.map +0 -1
  29. package/dist/src/commands/bootstrap.d.ts +0 -7
  30. package/dist/src/commands/bootstrap.d.ts.map +0 -1
  31. package/dist/src/commands/bootstrap.js +0 -255
  32. package/dist/src/commands/bootstrap.js.map +0 -1
  33. package/dist/src/commands/branch.d.ts +0 -14
  34. package/dist/src/commands/branch.d.ts.map +0 -1
  35. package/dist/src/commands/branch.js +0 -395
  36. package/dist/src/commands/branch.js.map +0 -1
  37. package/dist/src/commands/context.d.ts +0 -9
  38. package/dist/src/commands/context.d.ts.map +0 -1
  39. package/dist/src/commands/context.js +0 -57
  40. package/dist/src/commands/context.js.map +0 -1
  41. package/dist/src/commands/git.d.ts +0 -8
  42. package/dist/src/commands/git.d.ts.map +0 -1
  43. package/dist/src/commands/git.js +0 -53
  44. package/dist/src/commands/git.js.map +0 -1
  45. package/dist/src/commands/identity.d.ts +0 -13
  46. package/dist/src/commands/identity.d.ts.map +0 -1
  47. package/dist/src/commands/identity.js +0 -231
  48. package/dist/src/commands/identity.js.map +0 -1
  49. package/dist/src/commands/mail.d.ts +0 -12
  50. package/dist/src/commands/mail.d.ts.map +0 -1
  51. package/dist/src/commands/mail.js +0 -251
  52. package/dist/src/commands/mail.js.map +0 -1
  53. package/dist/src/commands/office-manager.d.ts +0 -147
  54. package/dist/src/commands/office-manager.d.ts.map +0 -1
  55. package/dist/src/commands/office-manager.js +0 -171
  56. package/dist/src/commands/office-manager.js.map +0 -1
  57. package/dist/src/commands/office.d.ts +0 -12
  58. package/dist/src/commands/office.d.ts.map +0 -1
  59. package/dist/src/commands/office.js +0 -480
  60. package/dist/src/commands/office.js.map +0 -1
  61. package/dist/src/commands/roster.d.ts +0 -10
  62. package/dist/src/commands/roster.d.ts.map +0 -1
  63. package/dist/src/commands/roster.js +0 -143
  64. package/dist/src/commands/roster.js.map +0 -1
  65. package/dist/src/commands/secrets.d.ts +0 -9
  66. package/dist/src/commands/secrets.d.ts.map +0 -1
  67. package/dist/src/commands/secrets.js +0 -54
  68. package/dist/src/commands/secrets.js.map +0 -1
  69. package/dist/src/commands/status.d.ts +0 -33
  70. package/dist/src/commands/status.d.ts.map +0 -1
  71. package/dist/src/commands/status.js +0 -407
  72. package/dist/src/commands/status.js.map +0 -1
  73. package/dist/src/generators/brief.d.ts +0 -6
  74. package/dist/src/generators/brief.d.ts.map +0 -1
  75. package/dist/src/generators/brief.js +0 -33
  76. package/dist/src/generators/brief.js.map +0 -1
  77. package/dist/src/generators/claude-code.d.ts +0 -18
  78. package/dist/src/generators/claude-code.d.ts.map +0 -1
  79. package/dist/src/generators/claude-code.js +0 -85
  80. package/dist/src/generators/claude-code.js.map +0 -1
  81. package/dist/src/generators/codex.d.ts +0 -23
  82. package/dist/src/generators/codex.d.ts.map +0 -1
  83. package/dist/src/generators/codex.js +0 -83
  84. package/dist/src/generators/codex.js.map +0 -1
  85. package/dist/src/generators/ollama.d.ts +0 -18
  86. package/dist/src/generators/ollama.d.ts.map +0 -1
  87. package/dist/src/generators/ollama.js +0 -97
  88. package/dist/src/generators/ollama.js.map +0 -1
  89. package/dist/src/generators/openclaw.d.ts +0 -15
  90. package/dist/src/generators/openclaw.d.ts.map +0 -1
  91. package/dist/src/generators/openclaw.js +0 -107
  92. package/dist/src/generators/openclaw.js.map +0 -1
  93. package/dist/src/generators/registry.d.ts +0 -36
  94. package/dist/src/generators/registry.d.ts.map +0 -1
  95. package/dist/src/generators/registry.js +0 -99
  96. package/dist/src/generators/registry.js.map +0 -1
  97. package/dist/src/schema/manifest.d.ts +0 -287
  98. package/dist/src/schema/manifest.d.ts.map +0 -1
  99. package/dist/src/schema/manifest.js +0 -65
  100. package/dist/src/schema/manifest.js.map +0 -1
  101. package/dist/src/schema/report.d.ts +0 -166
  102. package/dist/src/schema/report.d.ts.map +0 -1
  103. package/dist/src/schema/report.js +0 -90
  104. package/dist/src/schema/report.js.map +0 -1
  105. package/dist/src/schema/sanitizer.d.ts +0 -30
  106. package/dist/src/schema/sanitizer.d.ts.map +0 -1
  107. package/dist/src/schema/sanitizer.js +0 -99
  108. package/dist/src/schema/sanitizer.js.map +0 -1
  109. package/dist/src/soundstage/mock-llm.d.ts +0 -3
  110. package/dist/src/soundstage/mock-llm.d.ts.map +0 -1
  111. package/dist/src/soundstage/mock-llm.js +0 -68
  112. package/dist/src/soundstage/mock-llm.js.map +0 -1
  113. package/dist/src/utils/agent-info.d.ts +0 -28
  114. package/dist/src/utils/agent-info.d.ts.map +0 -1
  115. package/dist/src/utils/agent-info.js +0 -102
  116. package/dist/src/utils/agent-info.js.map +0 -1
  117. package/dist/src/utils/archive.d.ts +0 -20
  118. package/dist/src/utils/archive.d.ts.map +0 -1
  119. package/dist/src/utils/archive.js +0 -108
  120. package/dist/src/utils/archive.js.map +0 -1
  121. package/dist/src/utils/config-inject.d.ts +0 -27
  122. package/dist/src/utils/config-inject.d.ts.map +0 -1
  123. package/dist/src/utils/config-inject.js +0 -83
  124. package/dist/src/utils/config-inject.js.map +0 -1
  125. package/dist/src/utils/config.d.ts +0 -30
  126. package/dist/src/utils/config.d.ts.map +0 -1
  127. package/dist/src/utils/config.js +0 -55
  128. package/dist/src/utils/config.js.map +0 -1
  129. package/dist/src/utils/connection-state.d.ts +0 -27
  130. package/dist/src/utils/connection-state.d.ts.map +0 -1
  131. package/dist/src/utils/connection-state.js +0 -81
  132. package/dist/src/utils/connection-state.js.map +0 -1
  133. package/dist/src/utils/context.d.ts +0 -14
  134. package/dist/src/utils/context.d.ts.map +0 -1
  135. package/dist/src/utils/context.js +0 -68
  136. package/dist/src/utils/context.js.map +0 -1
  137. package/dist/src/utils/github-webhook.d.ts +0 -3
  138. package/dist/src/utils/github-webhook.d.ts.map +0 -1
  139. package/dist/src/utils/github-webhook.js +0 -105
  140. package/dist/src/utils/github-webhook.js.map +0 -1
  141. package/dist/src/utils/identity.d.ts +0 -124
  142. package/dist/src/utils/identity.d.ts.map +0 -1
  143. package/dist/src/utils/identity.js +0 -434
  144. package/dist/src/utils/identity.js.map +0 -1
  145. package/dist/src/utils/internal-mail.d.ts +0 -18
  146. package/dist/src/utils/internal-mail.d.ts.map +0 -1
  147. package/dist/src/utils/internal-mail.js +0 -75
  148. package/dist/src/utils/internal-mail.js.map +0 -1
  149. package/dist/src/utils/loop-detector.d.ts +0 -27
  150. package/dist/src/utils/loop-detector.d.ts.map +0 -1
  151. package/dist/src/utils/loop-detector.js +0 -42
  152. package/dist/src/utils/loop-detector.js.map +0 -1
  153. package/dist/src/utils/mail-handler.d.ts +0 -19
  154. package/dist/src/utils/mail-handler.d.ts.map +0 -1
  155. package/dist/src/utils/mail-handler.js +0 -94
  156. package/dist/src/utils/mail-handler.js.map +0 -1
  157. package/dist/src/utils/mail.d.ts +0 -22
  158. package/dist/src/utils/mail.d.ts.map +0 -1
  159. package/dist/src/utils/mail.js +0 -111
  160. package/dist/src/utils/mail.js.map +0 -1
  161. package/dist/src/utils/manifest.d.ts +0 -36
  162. package/dist/src/utils/manifest.d.ts.map +0 -1
  163. package/dist/src/utils/manifest.js +0 -94
  164. package/dist/src/utils/manifest.js.map +0 -1
  165. package/dist/src/utils/noise-ik-transport.d.ts +0 -18
  166. package/dist/src/utils/noise-ik-transport.d.ts.map +0 -1
  167. package/dist/src/utils/noise-ik-transport.js +0 -357
  168. package/dist/src/utils/noise-ik-transport.js.map +0 -1
  169. package/dist/src/utils/nono.d.ts +0 -72
  170. package/dist/src/utils/nono.d.ts.map +0 -1
  171. package/dist/src/utils/nono.js +0 -166
  172. package/dist/src/utils/nono.js.map +0 -1
  173. package/dist/src/utils/outbox.d.ts +0 -10
  174. package/dist/src/utils/outbox.d.ts.map +0 -1
  175. package/dist/src/utils/outbox.js +0 -29
  176. package/dist/src/utils/outbox.js.map +0 -1
  177. package/dist/src/utils/output.d.ts +0 -17
  178. package/dist/src/utils/output.d.ts.map +0 -1
  179. package/dist/src/utils/output.js +0 -83
  180. package/dist/src/utils/output.js.map +0 -1
  181. package/dist/src/utils/plain-tcp-transport.d.ts +0 -10
  182. package/dist/src/utils/plain-tcp-transport.d.ts.map +0 -1
  183. package/dist/src/utils/plain-tcp-transport.js +0 -209
  184. package/dist/src/utils/plain-tcp-transport.js.map +0 -1
  185. package/dist/src/utils/provision.d.ts +0 -2
  186. package/dist/src/utils/provision.d.ts.map +0 -1
  187. package/dist/src/utils/provision.js +0 -193
  188. package/dist/src/utils/provision.js.map +0 -1
  189. package/dist/src/utils/relay.d.ts +0 -30
  190. package/dist/src/utils/relay.d.ts.map +0 -1
  191. package/dist/src/utils/relay.js +0 -539
  192. package/dist/src/utils/relay.js.map +0 -1
  193. package/dist/src/utils/sandbox.d.ts +0 -37
  194. package/dist/src/utils/sandbox.d.ts.map +0 -1
  195. package/dist/src/utils/sandbox.js +0 -126
  196. package/dist/src/utils/sandbox.js.map +0 -1
  197. package/dist/src/utils/transport.d.ts +0 -62
  198. package/dist/src/utils/transport.d.ts.map +0 -1
  199. package/dist/src/utils/transport.js +0 -75
  200. package/dist/src/utils/transport.js.map +0 -1
  201. package/dist/src/utils/vault.d.ts +0 -21
  202. package/dist/src/utils/vault.d.ts.map +0 -1
  203. package/dist/src/utils/vault.js +0 -67
  204. package/dist/src/utils/vault.js.map +0 -1
  205. package/dist/src/utils/wall.d.ts +0 -5
  206. package/dist/src/utils/wall.d.ts.map +0 -1
  207. package/dist/src/utils/wall.js +0 -51
  208. package/dist/src/utils/wall.js.map +0 -1
  209. package/dist/src/utils/wire-delivery.d.ts +0 -10
  210. package/dist/src/utils/wire-delivery.d.ts.map +0 -1
  211. package/dist/src/utils/wire-delivery.js +0 -57
  212. package/dist/src/utils/wire-delivery.js.map +0 -1
  213. package/dist/src/utils/wire-frame.d.ts +0 -10
  214. package/dist/src/utils/wire-frame.d.ts.map +0 -1
  215. package/dist/src/utils/wire-frame.js +0 -66
  216. package/dist/src/utils/wire-frame.js.map +0 -1
  217. package/dist/src/utils/wire-mail.d.ts +0 -54
  218. package/dist/src/utils/wire-mail.d.ts.map +0 -1
  219. package/dist/src/utils/wire-mail.js +0 -24
  220. package/dist/src/utils/wire-mail.js.map +0 -1
  221. package/dist/src/utils/workspace.d.ts +0 -14
  222. package/dist/src/utils/workspace.d.ts.map +0 -1
  223. package/dist/src/utils/workspace.js +0 -53
  224. package/dist/src/utils/workspace.js.map +0 -1
  225. package/dist/src/utils/ws-noise-transport.d.ts +0 -18
  226. package/dist/src/utils/ws-noise-transport.d.ts.map +0 -1
  227. package/dist/src/utils/ws-noise-transport.js +0 -356
  228. package/dist/src/utils/ws-noise-transport.js.map +0 -1
@@ -1,147 +0,0 @@
1
- import { z } from "zod";
2
- /**
3
- * Workspace Manifest — defines tools the Office Manager installs before
4
- * worker agents start. Place this file at `workspace/workspace-manifest.json`
5
- * (or `workspace-manifest.yaml`).
6
- *
7
- * Example:
8
- * ```json
9
- * {
10
- * "name": "dev-office",
11
- * "tools": {
12
- * "apk": ["git", "curl", "jq"],
13
- * "npm": ["gh"],
14
- * "curl": [{ "url": "https://…", "dest": "/usr/local/bin/foo" }]
15
- * }
16
- * }
17
- * ```
18
- */
19
- export declare const WorkspaceManifestSchema: z.ZodObject<{
20
- name: z.ZodString;
21
- description: z.ZodOptional<z.ZodString>;
22
- tools: z.ZodDefault<z.ZodObject<{
23
- /** Alpine (apk) packages */
24
- apk: z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodObject<{
25
- name: z.ZodString;
26
- version: z.ZodOptional<z.ZodString>;
27
- }, "strip", z.ZodTypeAny, {
28
- name: string;
29
- version?: string | undefined;
30
- }, {
31
- name: string;
32
- version?: string | undefined;
33
- }>]>, "many">>;
34
- /** npm global packages */
35
- npm: z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodObject<{
36
- name: z.ZodString;
37
- version: z.ZodOptional<z.ZodString>;
38
- }, "strip", z.ZodTypeAny, {
39
- name: string;
40
- version?: string | undefined;
41
- }, {
42
- name: string;
43
- version?: string | undefined;
44
- }>]>, "many">>;
45
- /** Binaries to download via curl */
46
- curl: z.ZodDefault<z.ZodArray<z.ZodObject<{
47
- url: z.ZodString;
48
- dest: z.ZodString;
49
- chmod: z.ZodDefault<z.ZodString>;
50
- }, "strip", z.ZodTypeAny, {
51
- url: string;
52
- dest: string;
53
- chmod: string;
54
- }, {
55
- url: string;
56
- dest: string;
57
- chmod?: string | undefined;
58
- }>, "many">>;
59
- }, "strip", z.ZodTypeAny, {
60
- apk: (string | {
61
- name: string;
62
- version?: string | undefined;
63
- })[];
64
- npm: (string | {
65
- name: string;
66
- version?: string | undefined;
67
- })[];
68
- curl: {
69
- url: string;
70
- dest: string;
71
- chmod: string;
72
- }[];
73
- }, {
74
- apk?: (string | {
75
- name: string;
76
- version?: string | undefined;
77
- })[] | undefined;
78
- npm?: (string | {
79
- name: string;
80
- version?: string | undefined;
81
- })[] | undefined;
82
- curl?: {
83
- url: string;
84
- dest: string;
85
- chmod?: string | undefined;
86
- }[] | undefined;
87
- }>>;
88
- }, "strict", z.ZodTypeAny, {
89
- name: string;
90
- tools: {
91
- apk: (string | {
92
- name: string;
93
- version?: string | undefined;
94
- })[];
95
- npm: (string | {
96
- name: string;
97
- version?: string | undefined;
98
- })[];
99
- curl: {
100
- url: string;
101
- dest: string;
102
- chmod: string;
103
- }[];
104
- };
105
- description?: string | undefined;
106
- }, {
107
- name: string;
108
- description?: string | undefined;
109
- tools?: {
110
- apk?: (string | {
111
- name: string;
112
- version?: string | undefined;
113
- })[] | undefined;
114
- npm?: (string | {
115
- name: string;
116
- version?: string | undefined;
117
- })[] | undefined;
118
- curl?: {
119
- url: string;
120
- dest: string;
121
- chmod?: string | undefined;
122
- }[] | undefined;
123
- } | undefined;
124
- }>;
125
- export type WorkspaceManifest = z.infer<typeof WorkspaceManifestSchema>;
126
- /** Marker written when setup completes successfully. */
127
- export declare const OFFICE_READY_MARKER = ".office-ready";
128
- /**
129
- * Load and validate a workspace manifest from the given directory.
130
- * Returns null if no manifest is found.
131
- */
132
- export declare function loadWorkspaceManifest(workspaceDir: string): WorkspaceManifest | null;
133
- /**
134
- * Run the Office Manager pipeline:
135
- * 1. Load workspace manifest.
136
- * 2. Install all declared tools (apk → npm → curl).
137
- * 3. Verify installations.
138
- * 4. Write `.office-ready` marker.
139
- *
140
- * @param workspaceDir - path to the agent workspace
141
- * @param options.dryRun - print what would be done without executing
142
- * @returns `true` if office is ready, `false` if any required install failed
143
- */
144
- export declare function runOfficeManager(workspaceDir: string, options?: {
145
- dryRun?: boolean;
146
- }): Promise<boolean>;
147
- //# sourceMappingURL=office-manager.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"office-manager.d.ts","sourceRoot":"","sources":["../../../src/commands/office-manager.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAgBxB;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,uBAAuB;;;;QAIhC,4BAA4B;;;;;;;;;;;QAE5B,0BAA0B;;;;;;;;;;;QAE1B,oCAAoC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAG7B,CAAC;AAEZ,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AASxE,wDAAwD;AACxD,eAAO,MAAM,mBAAmB,kBAAkB,CAAC;AAEnD;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,YAAY,EAAE,MAAM,GAAG,iBAAiB,GAAG,IAAI,CAUpF;AAgCD;;;;;;;;;;GAUG;AACH,wBAAsB,gBAAgB,CACpC,YAAY,EAAE,MAAM,EACpB,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAA;CAAO,GACjC,OAAO,CAAC,OAAO,CAAC,CAyElB"}
@@ -1,171 +0,0 @@
1
- import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
2
- import { join } from "node:path";
3
- import { spawnSync } from "node:child_process";
4
- import { z } from "zod";
5
- import yaml from "js-yaml";
6
- /** Tool entry that can be a bare string or a versioned object. */
7
- const ToolEntrySchema = z.union([
8
- z.string().min(1),
9
- z.object({ name: z.string().min(1), version: z.string().optional() }),
10
- ]);
11
- /** curl-installed binary spec */
12
- const CurlBinarySchema = z.object({
13
- url: z.string().url(),
14
- dest: z.string().min(1),
15
- chmod: z.string().default("755"),
16
- });
17
- /**
18
- * Workspace Manifest — defines tools the Office Manager installs before
19
- * worker agents start. Place this file at `workspace/workspace-manifest.json`
20
- * (or `workspace-manifest.yaml`).
21
- *
22
- * Example:
23
- * ```json
24
- * {
25
- * "name": "dev-office",
26
- * "tools": {
27
- * "apk": ["git", "curl", "jq"],
28
- * "npm": ["gh"],
29
- * "curl": [{ "url": "https://…", "dest": "/usr/local/bin/foo" }]
30
- * }
31
- * }
32
- * ```
33
- */
34
- export const WorkspaceManifestSchema = z.object({
35
- name: z.string().min(1),
36
- description: z.string().optional(),
37
- tools: z.object({
38
- /** Alpine (apk) packages */
39
- apk: z.array(ToolEntrySchema).default([]),
40
- /** npm global packages */
41
- npm: z.array(ToolEntrySchema).default([]),
42
- /** Binaries to download via curl */
43
- curl: z.array(CurlBinarySchema).default([]),
44
- }).default({ apk: [], npm: [], curl: [] }),
45
- }).strict();
46
- /** Candidate filenames searched for in order. */
47
- const MANIFEST_CANDIDATES = [
48
- "workspace-manifest.json",
49
- "workspace-manifest.yaml",
50
- "workspace-manifest.yml",
51
- ];
52
- /** Marker written when setup completes successfully. */
53
- export const OFFICE_READY_MARKER = ".office-ready";
54
- /**
55
- * Load and validate a workspace manifest from the given directory.
56
- * Returns null if no manifest is found.
57
- */
58
- export function loadWorkspaceManifest(workspaceDir) {
59
- for (const filename of MANIFEST_CANDIDATES) {
60
- const fullPath = join(workspaceDir, filename);
61
- if (!existsSync(fullPath))
62
- continue;
63
- const raw = readFileSync(fullPath, "utf-8");
64
- const parsed = fullPath.endsWith(".json") ? JSON.parse(raw) : yaml.load(raw);
65
- return WorkspaceManifestSchema.parse(parsed);
66
- }
67
- return null;
68
- }
69
- /**
70
- * Install a single APK package. Returns true on success.
71
- */
72
- function installApk(pkg) {
73
- const result = spawnSync("apk", ["add", "--no-cache", pkg], {
74
- stdio: "inherit",
75
- encoding: "utf-8",
76
- });
77
- return result.status === 0;
78
- }
79
- /**
80
- * Install a single npm global package. Returns true on success.
81
- */
82
- function installNpm(pkg) {
83
- const result = spawnSync("npm", ["install", "-g", "--prefer-offline", pkg], {
84
- stdio: "inherit",
85
- encoding: "utf-8",
86
- });
87
- return result.status === 0;
88
- }
89
- /**
90
- * Verify that a command is available on PATH.
91
- */
92
- function commandExists(cmd) {
93
- const result = spawnSync("which", [cmd], { encoding: "utf-8" });
94
- return result.status === 0;
95
- }
96
- /**
97
- * Run the Office Manager pipeline:
98
- * 1. Load workspace manifest.
99
- * 2. Install all declared tools (apk → npm → curl).
100
- * 3. Verify installations.
101
- * 4. Write `.office-ready` marker.
102
- *
103
- * @param workspaceDir - path to the agent workspace
104
- * @param options.dryRun - print what would be done without executing
105
- * @returns `true` if office is ready, `false` if any required install failed
106
- */
107
- export async function runOfficeManager(workspaceDir, options = {}) {
108
- const { dryRun = false } = options;
109
- const manifest = loadWorkspaceManifest(workspaceDir);
110
- if (!manifest) {
111
- // No manifest — nothing to install. Mark ready immediately.
112
- console.log("No workspace-manifest found. Office ready (no dependencies required).");
113
- if (!dryRun) {
114
- writeFileSync(join(workspaceDir, OFFICE_READY_MARKER), new Date().toISOString() + "\n");
115
- }
116
- return true;
117
- }
118
- console.log(`Office Manager: provisioning workspace '${manifest.name}'...`);
119
- let allOk = true;
120
- // --- APK packages ---
121
- for (const entry of manifest.tools.apk) {
122
- const pkg = typeof entry === "string" ? entry : entry.name;
123
- console.log(` [apk] Installing ${pkg}...`);
124
- if (!dryRun) {
125
- const ok = installApk(pkg);
126
- if (!ok) {
127
- console.error(` [apk] FAILED: ${pkg}`);
128
- allOk = false;
129
- }
130
- }
131
- }
132
- // --- npm globals ---
133
- for (const entry of manifest.tools.npm) {
134
- const pkg = typeof entry === "string" ? entry : `${entry.name}${entry.version ? `@${entry.version}` : ""}`;
135
- console.log(` [npm] Installing ${pkg}...`);
136
- if (!dryRun) {
137
- const ok = installNpm(pkg);
138
- if (!ok) {
139
- console.error(` [npm] FAILED: ${pkg}`);
140
- allOk = false;
141
- }
142
- }
143
- }
144
- // --- curl binaries ---
145
- for (const entry of manifest.tools.curl) {
146
- console.log(` [curl] Downloading ${entry.url} → ${entry.dest}...`);
147
- if (!dryRun) {
148
- mkdirSync(join(entry.dest, "..").replace(/\/[^/]+$/, ""), { recursive: true });
149
- const dl = spawnSync("curl", ["--fail", "--silent", "--location", "--output", entry.dest, entry.url], { stdio: "inherit", encoding: "utf-8" });
150
- if (dl.status === 0) {
151
- spawnSync("chmod", [entry.chmod, entry.dest]);
152
- }
153
- else {
154
- console.error(` [curl] FAILED: ${entry.url}`);
155
- allOk = false;
156
- }
157
- }
158
- }
159
- if (allOk) {
160
- console.log("Office Manager: all dependencies installed.");
161
- if (!dryRun) {
162
- writeFileSync(join(workspaceDir, OFFICE_READY_MARKER), new Date().toISOString() + "\n");
163
- }
164
- console.log(`Office Manager: wrote ${OFFICE_READY_MARKER} — office is ready.`);
165
- }
166
- else {
167
- console.error("Office Manager: some dependencies failed. Workspace is NOT fully provisioned.");
168
- }
169
- return allOk;
170
- }
171
- //# sourceMappingURL=office-manager.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"office-manager.js","sourceRoot":"","sources":["../../../src/commands/office-manager.ts"],"names":[],"mappings":"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"}
@@ -1,12 +0,0 @@
1
- export interface OfficeArgs {
2
- action: "start" | "stop" | "list" | "status" | "relay" | "exec" | "join" | "revoke" | "sync" | "connect" | "kill" | "setup";
3
- agent?: string;
4
- command?: string[];
5
- manifest?: string;
6
- soundstage?: boolean;
7
- joinToken?: string;
8
- dryRun?: boolean;
9
- }
10
- export declare function parseJoinToken(tokenUrl: string): any;
11
- export declare function runOffice(args: OfficeArgs): Promise<void>;
12
- //# sourceMappingURL=office.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"office.d.ts","sourceRoot":"","sources":["../../../src/commands/office.ts"],"names":[],"mappings":"AAmBA,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,CAAC;IAC5H,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AA8FD,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,GAAG,CAwBpD;AAyBD,wBAAsB,SAAS,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CA8W/D"}