@task-handoff/node-agent 0.0.24 → 0.0.25-alpha.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.
Files changed (54) hide show
  1. package/dist/cli.js +1 -1
  2. package/dist/git-provisioning-helper.js +1 -0
  3. package/dist/node-update-worker.js +1 -1
  4. package/docker/entrypoint.sh +8 -0
  5. package/docker/git-provision.sh +126 -0
  6. package/docker/git-provisioning-helper.js +1 -0
  7. package/node_modules/node-pty/LICENSE +69 -0
  8. package/node_modules/node-pty/lib/conpty_console_list_agent.js +16 -0
  9. package/node_modules/node-pty/lib/conpty_console_list_agent.js.map +1 -0
  10. package/node_modules/node-pty/lib/eventEmitter2.js +47 -0
  11. package/node_modules/node-pty/lib/eventEmitter2.js.map +1 -0
  12. package/node_modules/node-pty/lib/eventEmitter2.test.js +30 -0
  13. package/node_modules/node-pty/lib/eventEmitter2.test.js.map +1 -0
  14. package/node_modules/node-pty/lib/index.js +52 -0
  15. package/node_modules/node-pty/lib/index.js.map +1 -0
  16. package/node_modules/node-pty/lib/interfaces.js +7 -0
  17. package/node_modules/node-pty/lib/interfaces.js.map +1 -0
  18. package/node_modules/node-pty/lib/shared/conout.js +11 -0
  19. package/node_modules/node-pty/lib/shared/conout.js.map +1 -0
  20. package/node_modules/node-pty/lib/terminal.js +190 -0
  21. package/node_modules/node-pty/lib/terminal.js.map +1 -0
  22. package/node_modules/node-pty/lib/terminal.test.js +139 -0
  23. package/node_modules/node-pty/lib/terminal.test.js.map +1 -0
  24. package/node_modules/node-pty/lib/testUtils.test.js +28 -0
  25. package/node_modules/node-pty/lib/testUtils.test.js.map +1 -0
  26. package/node_modules/node-pty/lib/types.js +7 -0
  27. package/node_modules/node-pty/lib/types.js.map +1 -0
  28. package/node_modules/node-pty/lib/unixTerminal.js +346 -0
  29. package/node_modules/node-pty/lib/unixTerminal.js.map +1 -0
  30. package/node_modules/node-pty/lib/unixTerminal.test.js +351 -0
  31. package/node_modules/node-pty/lib/unixTerminal.test.js.map +1 -0
  32. package/node_modules/node-pty/lib/utils.js +39 -0
  33. package/node_modules/node-pty/lib/utils.js.map +1 -0
  34. package/node_modules/node-pty/lib/windowsConoutConnection.js +125 -0
  35. package/node_modules/node-pty/lib/windowsConoutConnection.js.map +1 -0
  36. package/node_modules/node-pty/lib/windowsPtyAgent.js +320 -0
  37. package/node_modules/node-pty/lib/windowsPtyAgent.js.map +1 -0
  38. package/node_modules/node-pty/lib/windowsPtyAgent.test.js +90 -0
  39. package/node_modules/node-pty/lib/windowsPtyAgent.test.js.map +1 -0
  40. package/node_modules/node-pty/lib/windowsTerminal.js +199 -0
  41. package/node_modules/node-pty/lib/windowsTerminal.js.map +1 -0
  42. package/node_modules/node-pty/lib/windowsTerminal.test.js +219 -0
  43. package/node_modules/node-pty/lib/windowsTerminal.test.js.map +1 -0
  44. package/node_modules/node-pty/lib/worker/conoutSocketWorker.js +22 -0
  45. package/node_modules/node-pty/lib/worker/conoutSocketWorker.js.map +1 -0
  46. package/node_modules/node-pty/package.json +6 -0
  47. package/node_modules/node-pty/prebuilds/linux-arm64/pty.node +0 -0
  48. package/node_modules/node-pty/prebuilds/linux-x64/pty.node +0 -0
  49. package/package.json +4 -1
  50. package/runtime-artifacts/{controlled-instance-runtime-0.0.24-linux-universal.manifest.json → controlled-instance-runtime-0.0.25-alpha.2-linux-universal.manifest.json} +2 -2
  51. package/runtime-artifacts/controlled-instance-runtime-0.0.25-alpha.2-linux-universal.tar.gz +0 -0
  52. package/runtime-artifacts/controlled-instance-runtime-0.0.25-alpha.2-linux-universal.tar.gz.sha256 +1 -0
  53. package/runtime-artifacts/controlled-instance-runtime-0.0.24-linux-universal.tar.gz +0 -0
  54. package/runtime-artifacts/controlled-instance-runtime-0.0.24-linux-universal.tar.gz.sha256 +0 -1
@@ -0,0 +1,190 @@
1
+ "use strict";
2
+ /**
3
+ * Copyright (c) 2012-2015, Christopher Jeffrey (MIT License)
4
+ * Copyright (c) 2016, Daniel Imms (MIT License).
5
+ * Copyright (c) 2018, Microsoft Corporation (MIT License).
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.Terminal = exports.DEFAULT_ROWS = exports.DEFAULT_COLS = void 0;
9
+ var events_1 = require("events");
10
+ var eventEmitter2_1 = require("./eventEmitter2");
11
+ exports.DEFAULT_COLS = 80;
12
+ exports.DEFAULT_ROWS = 24;
13
+ /**
14
+ * Default messages to indicate PAUSE/RESUME for automatic flow control.
15
+ * To avoid conflicts with rebound XON/XOFF control codes (such as on-my-zsh),
16
+ * the sequences can be customized in `IPtyForkOptions`.
17
+ */
18
+ var FLOW_CONTROL_PAUSE = '\x13'; // defaults to XOFF
19
+ var FLOW_CONTROL_RESUME = '\x11'; // defaults to XON
20
+ var Terminal = /** @class */ (function () {
21
+ function Terminal(opt) {
22
+ this._pid = 0;
23
+ this._fd = 0;
24
+ this._cols = 0;
25
+ this._rows = 0;
26
+ this._readable = false;
27
+ this._writable = false;
28
+ this._onData = new eventEmitter2_1.EventEmitter2();
29
+ this._onExit = new eventEmitter2_1.EventEmitter2();
30
+ // for 'close'
31
+ this._internalee = new events_1.EventEmitter();
32
+ // setup flow control handling
33
+ this.handleFlowControl = !!(opt === null || opt === void 0 ? void 0 : opt.handleFlowControl);
34
+ this._flowControlPause = (opt === null || opt === void 0 ? void 0 : opt.flowControlPause) || FLOW_CONTROL_PAUSE;
35
+ this._flowControlResume = (opt === null || opt === void 0 ? void 0 : opt.flowControlResume) || FLOW_CONTROL_RESUME;
36
+ if (!opt) {
37
+ return;
38
+ }
39
+ // Do basic type checks here in case node-pty is being used within JavaScript. If the wrong
40
+ // types go through to the C++ side it can lead to hard to diagnose exceptions.
41
+ this._checkType('name', opt.name ? opt.name : undefined, 'string');
42
+ this._checkType('cols', opt.cols ? opt.cols : undefined, 'number');
43
+ this._checkType('rows', opt.rows ? opt.rows : undefined, 'number');
44
+ this._checkType('cwd', opt.cwd ? opt.cwd : undefined, 'string');
45
+ this._checkType('env', opt.env ? opt.env : undefined, 'object');
46
+ this._checkType('uid', opt.uid ? opt.uid : undefined, 'number');
47
+ this._checkType('gid', opt.gid ? opt.gid : undefined, 'number');
48
+ this._checkType('encoding', opt.encoding ? opt.encoding : undefined, 'string');
49
+ }
50
+ Object.defineProperty(Terminal.prototype, "onData", {
51
+ get: function () { return this._onData.event; },
52
+ enumerable: false,
53
+ configurable: true
54
+ });
55
+ Object.defineProperty(Terminal.prototype, "onExit", {
56
+ get: function () { return this._onExit.event; },
57
+ enumerable: false,
58
+ configurable: true
59
+ });
60
+ Object.defineProperty(Terminal.prototype, "pid", {
61
+ get: function () { return this._pid; },
62
+ enumerable: false,
63
+ configurable: true
64
+ });
65
+ Object.defineProperty(Terminal.prototype, "cols", {
66
+ get: function () { return this._cols; },
67
+ enumerable: false,
68
+ configurable: true
69
+ });
70
+ Object.defineProperty(Terminal.prototype, "rows", {
71
+ get: function () { return this._rows; },
72
+ enumerable: false,
73
+ configurable: true
74
+ });
75
+ Terminal.prototype.write = function (data) {
76
+ if (this.handleFlowControl) {
77
+ // PAUSE/RESUME messages are not forwarded to the pty
78
+ if (data === this._flowControlPause) {
79
+ this.pause();
80
+ return;
81
+ }
82
+ if (data === this._flowControlResume) {
83
+ this.resume();
84
+ return;
85
+ }
86
+ }
87
+ // everything else goes to the real pty
88
+ this._write(data);
89
+ };
90
+ Terminal.prototype._forwardEvents = function () {
91
+ var _this = this;
92
+ this.on('data', function (e) { return _this._onData.fire(e); });
93
+ this.on('exit', function (exitCode, signal) { return _this._onExit.fire({ exitCode: exitCode, signal: signal }); });
94
+ };
95
+ Terminal.prototype._checkType = function (name, value, type, allowArray) {
96
+ if (allowArray === void 0) { allowArray = false; }
97
+ if (value === undefined) {
98
+ return;
99
+ }
100
+ if (allowArray) {
101
+ if (Array.isArray(value)) {
102
+ value.forEach(function (v, i) {
103
+ if (typeof v !== type) {
104
+ throw new Error(name + "[" + i + "] must be a " + type + " (not a " + typeof v[i] + ")");
105
+ }
106
+ });
107
+ return;
108
+ }
109
+ }
110
+ if (typeof value !== type) {
111
+ throw new Error(name + " must be a " + type + " (not a " + typeof value + ")");
112
+ }
113
+ };
114
+ /** See net.Socket.end */
115
+ Terminal.prototype.end = function (data) {
116
+ this._socket.end(data);
117
+ };
118
+ /** See stream.Readable.pipe */
119
+ Terminal.prototype.pipe = function (dest, options) {
120
+ return this._socket.pipe(dest, options);
121
+ };
122
+ /** See net.Socket.pause */
123
+ Terminal.prototype.pause = function () {
124
+ return this._socket.pause();
125
+ };
126
+ /** See net.Socket.resume */
127
+ Terminal.prototype.resume = function () {
128
+ return this._socket.resume();
129
+ };
130
+ /** See net.Socket.setEncoding */
131
+ Terminal.prototype.setEncoding = function (encoding) {
132
+ if (this._socket._decoder) {
133
+ delete this._socket._decoder;
134
+ }
135
+ if (encoding) {
136
+ this._socket.setEncoding(encoding);
137
+ }
138
+ };
139
+ Terminal.prototype.addListener = function (eventName, listener) { this.on(eventName, listener); };
140
+ Terminal.prototype.on = function (eventName, listener) {
141
+ if (eventName === 'close') {
142
+ this._internalee.on('close', listener);
143
+ return;
144
+ }
145
+ this._socket.on(eventName, listener);
146
+ };
147
+ Terminal.prototype.emit = function (eventName) {
148
+ var args = [];
149
+ for (var _i = 1; _i < arguments.length; _i++) {
150
+ args[_i - 1] = arguments[_i];
151
+ }
152
+ if (eventName === 'close') {
153
+ return this._internalee.emit.apply(this._internalee, arguments);
154
+ }
155
+ return this._socket.emit.apply(this._socket, arguments);
156
+ };
157
+ Terminal.prototype.listeners = function (eventName) {
158
+ return this._socket.listeners(eventName);
159
+ };
160
+ Terminal.prototype.removeListener = function (eventName, listener) {
161
+ this._socket.removeListener(eventName, listener);
162
+ };
163
+ Terminal.prototype.removeAllListeners = function (eventName) {
164
+ this._socket.removeAllListeners(eventName);
165
+ };
166
+ Terminal.prototype.once = function (eventName, listener) {
167
+ this._socket.once(eventName, listener);
168
+ };
169
+ Terminal.prototype._close = function () {
170
+ this._socket.readable = false;
171
+ this.write = function () { };
172
+ this.end = function () { };
173
+ this._writable = false;
174
+ this._readable = false;
175
+ };
176
+ Terminal.prototype._parseEnv = function (env) {
177
+ var keys = Object.keys(env || {});
178
+ var pairs = [];
179
+ for (var i = 0; i < keys.length; i++) {
180
+ if (keys[i] === undefined) {
181
+ continue;
182
+ }
183
+ pairs.push(keys[i] + '=' + env[keys[i]]);
184
+ }
185
+ return pairs;
186
+ };
187
+ return Terminal;
188
+ }());
189
+ exports.Terminal = Terminal;
190
+ //# sourceMappingURL=terminal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"terminal.js","sourceRoot":"","sources":["../src/terminal.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,139 @@
1
+ "use strict";
2
+ /**
3
+ * Copyright (c) 2017, Daniel Imms (MIT License).
4
+ * Copyright (c) 2018, Microsoft Corporation (MIT License).
5
+ */
6
+ var __extends = (this && this.__extends) || (function () {
7
+ var extendStatics = function (d, b) {
8
+ extendStatics = Object.setPrototypeOf ||
9
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
10
+ function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
11
+ return extendStatics(d, b);
12
+ };
13
+ return function (d, b) {
14
+ extendStatics(d, b);
15
+ function __() { this.constructor = d; }
16
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
17
+ };
18
+ })();
19
+ Object.defineProperty(exports, "__esModule", { value: true });
20
+ var assert = require("assert");
21
+ var windowsTerminal_1 = require("./windowsTerminal");
22
+ var unixTerminal_1 = require("./unixTerminal");
23
+ var terminal_1 = require("./terminal");
24
+ var terminalConstructor = (process.platform === 'win32') ? windowsTerminal_1.WindowsTerminal : unixTerminal_1.UnixTerminal;
25
+ var SHELL = (process.platform === 'win32') ? 'cmd.exe' : '/bin/bash';
26
+ var terminalCtor;
27
+ if (process.platform === 'win32') {
28
+ terminalCtor = require('./windowsTerminal');
29
+ }
30
+ else {
31
+ terminalCtor = require('./unixTerminal');
32
+ }
33
+ var TestTerminal = /** @class */ (function (_super) {
34
+ __extends(TestTerminal, _super);
35
+ function TestTerminal() {
36
+ return _super !== null && _super.apply(this, arguments) || this;
37
+ }
38
+ TestTerminal.prototype.checkType = function (name, value, type, allowArray) {
39
+ if (allowArray === void 0) { allowArray = false; }
40
+ this._checkType(name, value, type, allowArray);
41
+ };
42
+ TestTerminal.prototype._write = function (data) {
43
+ throw new Error('Method not implemented.');
44
+ };
45
+ TestTerminal.prototype.resize = function (cols, rows) {
46
+ throw new Error('Method not implemented.');
47
+ };
48
+ TestTerminal.prototype.clear = function () {
49
+ throw new Error('Method not implemented.');
50
+ };
51
+ TestTerminal.prototype.destroy = function () {
52
+ throw new Error('Method not implemented.');
53
+ };
54
+ TestTerminal.prototype.kill = function (signal) {
55
+ throw new Error('Method not implemented.');
56
+ };
57
+ Object.defineProperty(TestTerminal.prototype, "process", {
58
+ get: function () {
59
+ throw new Error('Method not implemented.');
60
+ },
61
+ enumerable: false,
62
+ configurable: true
63
+ });
64
+ Object.defineProperty(TestTerminal.prototype, "master", {
65
+ get: function () {
66
+ throw new Error('Method not implemented.');
67
+ },
68
+ enumerable: false,
69
+ configurable: true
70
+ });
71
+ Object.defineProperty(TestTerminal.prototype, "slave", {
72
+ get: function () {
73
+ throw new Error('Method not implemented.');
74
+ },
75
+ enumerable: false,
76
+ configurable: true
77
+ });
78
+ return TestTerminal;
79
+ }(terminal_1.Terminal));
80
+ describe('Terminal', function () {
81
+ describe('constructor', function () {
82
+ it('should do basic type checks', function () {
83
+ assert.throws(function () { return new terminalCtor('a', 'b', { 'name': {} }); }, 'name must be a string (not a object)');
84
+ });
85
+ });
86
+ describe('checkType', function () {
87
+ it('should throw for the wrong type', function () {
88
+ var t = new TestTerminal();
89
+ assert.doesNotThrow(function () { return t.checkType('foo', 'test', 'string'); });
90
+ assert.doesNotThrow(function () { return t.checkType('foo', 1, 'number'); });
91
+ assert.doesNotThrow(function () { return t.checkType('foo', {}, 'object'); });
92
+ assert.throws(function () { return t.checkType('foo', 'test', 'number'); });
93
+ assert.throws(function () { return t.checkType('foo', 1, 'object'); });
94
+ assert.throws(function () { return t.checkType('foo', {}, 'string'); });
95
+ });
96
+ it('should throw for wrong types within arrays', function () {
97
+ var t = new TestTerminal();
98
+ assert.doesNotThrow(function () { return t.checkType('foo', ['test'], 'string', true); });
99
+ assert.doesNotThrow(function () { return t.checkType('foo', [1], 'number', true); });
100
+ assert.doesNotThrow(function () { return t.checkType('foo', [{}], 'object', true); });
101
+ assert.throws(function () { return t.checkType('foo', ['test'], 'number', true); });
102
+ assert.throws(function () { return t.checkType('foo', [1], 'object', true); });
103
+ assert.throws(function () { return t.checkType('foo', [{}], 'string', true); });
104
+ });
105
+ });
106
+ describe('automatic flow control', function () {
107
+ it('should respect ctor flow control options', function () {
108
+ var pty = new terminalConstructor(SHELL, [], { handleFlowControl: true, flowControlPause: 'abc', flowControlResume: '123' });
109
+ assert.equal(pty.handleFlowControl, true);
110
+ assert.equal(pty._flowControlPause, 'abc');
111
+ assert.equal(pty._flowControlResume, '123');
112
+ });
113
+ // TODO: I don't think this test ever worked due to pollUntil being used incorrectly
114
+ // it('should do flow control automatically', async function(): Promise<void> {
115
+ // // Flow control doesn't work on Windows
116
+ // if (process.platform === 'win32') {
117
+ // return;
118
+ // }
119
+ // this.timeout(10000);
120
+ // const pty = new terminalConstructor(SHELL, [], {handleFlowControl: true, flowControlPause: 'PAUSE', flowControlResume: 'RESUME'});
121
+ // let read: string = '';
122
+ // pty.on('data', data => read += data);
123
+ // pty.on('pause', () => read += 'paused');
124
+ // pty.on('resume', () => read += 'resumed');
125
+ // pty.write('1');
126
+ // pty.write('PAUSE');
127
+ // pty.write('2');
128
+ // pty.write('RESUME');
129
+ // pty.write('3');
130
+ // await pollUntil(() => {
131
+ // return stripEscapeSequences(read).endsWith('1pausedresumed23');
132
+ // }, 100, 10);
133
+ // });
134
+ });
135
+ });
136
+ function stripEscapeSequences(data) {
137
+ return data.replace(/\u001b\[0K/, '');
138
+ }
139
+ //# sourceMappingURL=terminal.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"terminal.test.js","sourceRoot":"","sources":["../src/terminal.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ /**
3
+ * Copyright (c) 2019, Microsoft Corporation (MIT License).
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.pollUntil = void 0;
7
+ function pollUntil(cb, timeout, interval) {
8
+ return new Promise(function (resolve, reject) {
9
+ var intervalId = setInterval(function () {
10
+ if (cb()) {
11
+ clearInterval(intervalId);
12
+ clearTimeout(timeoutId);
13
+ resolve();
14
+ }
15
+ }, interval);
16
+ var timeoutId = setTimeout(function () {
17
+ clearInterval(intervalId);
18
+ if (cb()) {
19
+ resolve();
20
+ }
21
+ else {
22
+ reject();
23
+ }
24
+ }, timeout);
25
+ });
26
+ }
27
+ exports.pollUntil = pollUntil;
28
+ //# sourceMappingURL=testUtils.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"testUtils.test.js","sourceRoot":"","sources":["../src/testUtils.test.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,SAAgB,SAAS,CAAC,EAAiB,EAAE,OAAe,EAAE,QAAgB;IAC5E,OAAO,IAAI,OAAO,CAAO,UAAC,OAAO,EAAE,MAAM;QACvC,IAAM,UAAU,GAAG,WAAW,CAAC;YAC7B,IAAI,EAAE,EAAE,EAAE;gBACR,aAAa,CAAC,UAAU,CAAC,CAAC;gBAC1B,YAAY,CAAC,SAAS,CAAC,CAAC;gBACxB,OAAO,EAAE,CAAC;aACX;QACH,CAAC,EAAE,QAAQ,CAAC,CAAC;QACb,IAAM,SAAS,GAAG,UAAU,CAAC;YAC3B,aAAa,CAAC,UAAU,CAAC,CAAC;YAC1B,IAAI,EAAE,EAAE,EAAE;gBACR,OAAO,EAAE,CAAC;aACX;iBAAM;gBACL,MAAM,EAAE,CAAC;aACV;QACH,CAAC,EAAE,OAAO,CAAC,CAAC;IACd,CAAC,CAAC,CAAC;AACL,CAAC;AAlBD,8BAkBC"}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ /**
3
+ * Copyright (c) 2017, Daniel Imms (MIT License).
4
+ * Copyright (c) 2018, Microsoft Corporation (MIT License).
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";AAAA;;;GAGG"}